error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const

这个错误的出现是因为只有加入了Q_OBJECT,你才能使用QT中的signal和slot机制。
 

需要在类中加入Q_OBJECT宏:
    class myclass: public QWidget
    {
        Q_OBJECT
    ......

    }


但是我还遇到了这样的问题,在没加Q_OBJECT的时候能编译运行,但是signal机制不起作用,在加了Q_OBJECT后反而出现error


这是因为在加了之后出现了moc的问题,只需要在Generated Files下面将moc_filename.cpp重新编译一次就ok了

你可能感兴趣的:(struct,object,Class,qt,Signal)