• 5871阅读
  • 1回复

[提问]Qt的object问题 [复制链接]

上一主题 下一主题
离线jingping1231
 
只看楼主 倒序阅读 楼主  发表于: 2011-06-29
关键词: QT4

#include "HtDynamicTreeWidgetItemBase.h"
class QComboBox;
class QTreeWidgetItem;
class HtDynamicComboBox:public HtDynamicTreeWidgetItemBase
{
Q_OBJECT
public:
HtDynamicComboBox(const QString& mtext = "");
~HtDynamicComboBox();
virtual void setItemData(dtDAL::ActorProxy* actorptr);
virtual void setItemData(dtDAL::ActorProxy* actorptr,const std::string& tag = ACTORPROXY_PROPERYT_TEXTURE);
virtual void setLabelTextList(QStringList mtext);
protected:
virtual void initializationUi();
QComboBox* mcomboBoxL;
QTreeWidgetItem * mlabelL;
std::string _tag;
int _Index;
private slots:
void slotValueChanged(int);
};
上面是我写的一个类,编译的时候报错如下:
错误 2 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall HtDynamicComboBox::metaObject(void)const " (?metaObject@HtDynamicComboBox@@UBEPBUQMetaObject@@XZ) htdynamiccomboboxwidget.obj HTSDPublicGui
错误 3 error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall HtDynamicComboBox::qt_metacast(char const *)" (?qt_metacast@HtDynamicComboBox@@UAEPAXPBD@Z) htdynamiccomboboxwidget.obj HTSDPublicGui
错误 4 error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall HtDynamicComboBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@HtDynamicComboBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z) htdynamiccomboboxwidget.obj HTSDPublicGui
错误 5 error LNK2001: 无法解析的外部符号 "public: static struct QMetaObject const HtDynamicComboBox::staticMetaObject" (?staticMetaObject@HtDynamicComboBox@@2UQMetaObject@@B) htdynamiccomboboxwidget.obj HTSDPublicGui
错误 6 fatal error LNK1120: 4 个无法解析的外部命令 D:\1111\bin\Debug\HTSDPublicGuid.dll HTSDPublicGui
如果将QObject注释掉,就没有问题了,但这样无法实现信号响应,我查了一下根本就没有生成该文件对应的moc文件,这是怎么回事啊?该如何解决啊?
离线shiroki

只看该作者 1楼 发表于: 2011-06-30
楼主的类定义写在cpp文件里了吧? 这样qmake没有办法自动识别并添加moc的规则, 最好是把类定义搬到.h里再重新qmake
还有一个方法是在cpp文件末尾加 #include "yourfilename.moc" 把你的cpp文件的cpp改成moc放在最后, 这样的写法qmake也可以识别
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个