class foo: public QXmlDefaultHandler, public QObject public: ~foo();你会得到一些关于QObject的成员不是QXmlDefaultHandler成员的错误信息。此外,你不能移动Q_OBJECT,否则你会因为没有实现某些东西而得到vtable错误(继续!试试看!)。编辑:对于c++和Qt老兵来说,如果你能更好地解释它,请发表一个答案。我花了相当多的时间来查找这些信息,所以如果你能比我做得更好,请帮助其他人。
我想在我的程序中使用signal和slot,为此我被告知需要添加Q_OBJECT,如下所示。class A Q_OBJECT A();这会给出一个错误,说“Q_OBJECT没有命名一个类型”。如果I than add #include It给出错误'undefined reference to vtable of A‘
我知道如何使用qt线程,但是可以使用一个线程来更新gui,而不需要子类q线程或qobject?run() { updateGui(); //i know, heavyWork will run before updateGui()我不想用子类qobject或q线程来实现我的"foo“类,因为这个类可以(或者应该是)独立于gui库(甚至在控制台中)使用,我使用的是Qt,但我计划尝试其他任何东西