Tag: qobject

什么时候应该使用Q_OBJECT?

该文件指出: Q_OBJECTmacros必须出现在声明自己的信号和槽或者使用Qt的元对象系统提供的其他服务的类定义的私有部分。 但究竟是什么意思? 哪些QObject派生类可以安全地忽略它? 如果您在QObject派生类中省略Q_OBJECT,然后inheritance它,会出现问题吗? 基本上我想知道什么时候可以从我的Qt类中忽略它。

无法parsing的外部符号“public:virtual struct QMetaObject const * __thiscall Parent

我从QObjectinheritance了一个类: class Parent: public QObject { Q_OBJECT QObject* cl; public: Parent(QObject *parent=0):QObject(parent) { cl = NULL; } QObject* getCl() const { return cl; } void setCl(QObject *obj) { cl = obj; } }; 但是当我写: Parent ev; 我得到以下错误: main.obj:-1: error: LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Parent::metaObject(void)const " (?metaObject@Parent@@UBEPBUQMetaObject@@XZ) main.obj:-1: error: […]

Qt链接器错误:“未定义的引用vtable”

这是我的标题: #ifndef BARELYSOCKET_H #define BARELYSOCKET_H #include <QObject> //! The First Draw of the BarelySocket! class BarelySocket: public QObject { Q_OBJECT public: BarelySocket(); public slots: void sendMessage(Message aMessage); signals: void reciveMessage(Message aMessage); private: // QVector<Message> reciveMessages; }; #endif // BARELYSOCKET_H 这是我的class级: #include <QTGui> #include <QObject> #include "type.h" #include "client.h" #include "server.h" #include "barelysocket.h" BarelySocket::BarelySocket() { //this->reciveMessages.clear(); […]