从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是预处理的,但模板只在编译时转换成实际的代码。
编辑:我可以补充说,我现在只是模板化公共函数,目前为止工作得很好,尽管它当然要求消费者在他每次调用函数时输入声明功能。