首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自定义QSpinBox ->不可编译

自定义QSpinBox ->不可编译
EN

Stack Overflow用户
提问于 2011-12-07 22:20:47
回答 2查看 229关注 0票数 0

例如,我们的计划是为十六进制视图定制一个QSpinBox。我在网上找到了一些例子,并用我自己的版本试了试。每次我都收到类似的链接器错误。因为我不是QT专家,所以我希望这里有人能帮上忙:

错误:

代码语言:javascript
复制
1>CustomSpinBox.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall CustomSpinBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@CustomSpinBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>CustomSpinBox.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall CustomSpinBox::qt_metacast(char const *)" (?qt_metacast@CustomSpinBox@@UAEPAXPBD@Z)
1>CustomSpinBox.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall CustomSpinBox::metaObject(void)const " (?metaObject@CustomSpinBox@@UBEPBUQMetaObject@@XZ)

这是我找到的一个示例代码。

https://bitbucket.org/megazig/megagecko/src/c20ec5e7003c/src/qhexspinbox.h

https://bitbucket.org/megazig/megagecko/src/c20ec5e7003c/src/qhexspinbox.cpp

我的版本只是简单了一点。我有一个CustomSpinBox类,我想通过QT Designer的推广功能来集成它。问题是我甚至不能编译这个类。请帮帮我。

我在Visual Studio2010中使用QT 4.7.4,这些错误来自Visual C++。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-07 22:38:15

你需要修改你的类定义,但这应该是自动完成的。你正在使用qmake来编译你的项目吗?您的类的定义是否在*.h文件中?此*.h文件是否已添加到项目文件的标头列表中?

或者,如果您不使用属性、元对象或向类中添加任何新的信号/槽,则可以简单地在类定义中省略Q_OBJECT。

票数 1
EN

Stack Overflow用户

发布于 2011-12-07 22:37:26

确保在CustomSpinBox.h文件中包含Q_OBJECT宏,然后对项目运行qmake以生成moc-ed内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8416813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档