从QWidget继承并创建类模板

问题描述:

我希望这不是一个愚蠢的问题,但我在模板方面很缺乏经验,而这个问题在我头上。我参与了一个严重依赖QT Designer进行GUI设计的项目,并且我想提供一个特殊的QWidget子类,允许抽象与复杂服务机制的交互。这个小部件需要类特定的信息来解决这些服务。编码本身是在Visual Studio 2008中完成的。从QWidget继承并创建类模板

所以我想创建的是一个模板化的QWidget子类。用我有限的知识,我试图在全班同学面前拍打着平常的模板声明:

template <class T> 
class QmitkMyWidget :public QWidget 

unsuprisingly,这不起作用,很容易。生成的moc类将起作用。

error PRJ0019: A tool returned an error code from "Generating Qmitk/moc_QmitkMyWidget.cxx" 

这对我来说似乎很合逻辑,因为我“没有告诉他们该做什么”。我想我必须在QT Designer中指定模板,但我真的不知道怎么做,而且不幸的搜索在QT Designer中发现了大量代码模板的结果,但没有提到泛型编程概念。我真的很感激任何提示& & ||有用的来源/文章。谢谢你的时间!

编辑:傻错字在第一代码=/

我已经确认这是不可能的。 来源:Limitations mof the moc concept

的要点是,mocs是预处理的,但模板只在编译时转换成实际的代码。

编辑:我可以补充说,我现在只是模板化公共函数,目前为止工作得很好,尽管它当然要求消费者在他每次调用函数时输入声明功能。