【问题标题】:Inheriting from QWidget and make class a Template从 QWidget 继承并使类成为模板
【发布时间】:2012-07-19 22:47:48
【问题描述】:

我希望这不是一个愚蠢的问题,但我在模板方面非常缺乏经验,这个问题超出了我的想象。我从事一个严重依赖 QT Designer 进行 GUI 设计的项目,我想提供一个特殊的 QWidget 子类,它允许抽象与复杂服务机制的交互。此小部件需要特定于类的信息,以解析服务。编码本身是在 Visual Studio 2008 中完成的。

所以我想要创建的是一个模板化的 QWidget 子类。以我有限的知识,我尝试在班级前面拍下通常的模板语句:

template <class T>
class QmitkMyWidget :public QWidget

不出所料,这并不容易。生成的 moc 类起作用了。

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

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

编辑:第一个代码中的错误拼写错误 =/

【问题讨论】:

    标签: qt templates qt-designer


    【解决方案1】:

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

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

    编辑:我可以补充一点,我现在只对公共函数进行模板化,而不是使类本身模板化,这到目前为止工作得很好,尽管它当然需要消费者在每次调用函数时输入声明.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2018-09-29
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多