如果在继承了qwt控件的类中使用signal或slot,需要使用Q_OBJECT宏,即:
class XX : public QwtPlot
{
Q_OBJECT
...
}
这时使用vc编译环境的话可能会提示
error LNK2001: unresolved external symbol "public: static struct QMetaObject const QwtDial::staticMetaObject" (?staticMetaObject@QwtDial@@2UQMetaObject@@B)
解决方法是在pro文件顶端加上
DEFINES += QWT_DLL
或者如果本项目的qwt配置文件如qwt.pri文件里有
win32{
contains(CONFIG,QwtDll){
DEFINES += QT_DLL QWT_DLL
QWTLIB = $${QWTLIB}$${VER_MAJ}
}
则可以在pro文件顶端加入
CONFIG += qwtDll