• 8137阅读
  • 6回复

继承QTreeWidgetItem出现问题 [复制链接]

上一主题 下一主题
离线daniel999
 
只看楼主 倒序阅读 楼主  发表于: 2008-02-19
— 本帖被 XChinux 执行加亮操作(2008-02-19) —
class MyWidgetItem : public QTreeWidgetITem
{
QObject
.....
}
为什么我在试图继承出现编译错误,说无法找到QTreeWidgetItem定义函数metacast等3个函数

但是例如在继承其他类比如QComboBox
class  MyComboBox : public QComboBox
{
QObject
}
却没有问题
我使用VC6 + qt433
请指教一下
离线xbbbbb

只看该作者 1楼 发表于: 2008-03-06
没有生成 moc_MyWidgetItem.cpp 文件,命令行下运行 moc mywidgetitem.h > moc_mywidgetitem.cpp 加入工程后,应该就可以了
离线daily

只看该作者 2楼 发表于: 2009-03-27
楼上的误解了,QTreeWidgetItem 不是一个qobect 不可以使用Q_OBJECT 。切记
离线zhshzhjhust
只看该作者 3楼 发表于: 2009-03-27
楼上正解,QTreeWidgetItem不是窗口类,只是个数据类

所以去掉Q_OBJECT即可
离线foxyz

只看该作者 4楼 发表于: 2009-03-30
去掉Q_OBJECT

是否需要Q_OBJECT并不是看是否是窗口类。关键是看你自己是否需要。

如果你的类需要使用到自定义的signal-slot,Q_ENUMS,Q_PEOPERTY等等metadata那套机制的
你就得加上Q_OBJECT
离线joshua17
只看该作者 5楼 发表于: 2009-04-01
引用第3楼zhshzhjhust于2009-03-27 16:32发表的  :
楼上正解,QTreeWidgetItem不是窗口类,只是个数据类
所以去掉Q_OBJECT即可


那就是说不能对QTreeWidgetItem或者QTableWidgetItem进行动作操作了?
离线daily

只看该作者 6楼 发表于: 2009-04-03
对QTreeWidgetItem 操作的话可以使用QTreeWidget 来操作。大多数操作是可以实现的
快速回复
限100 字节
 
上一个 下一个