自定义类的Q_OBJECT使用
在下通过QT Creat建立了一个只有一个mainwindow界面的工程。之后,在该工程的.h文件中添加自定义类。
.h文件全文如下:
[code=C/C++][/code]
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QObject>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
class MyEditline :public QObject
{
Q_OBJECT
public:
explicit MyEditline(QObject *parent=0);
~MyEditline();
protected:
virtual void keyPressEvent ( QKeyEvent *);
virtual void keyReleaseEvent ( QKeyEvent *);
signals:
};
#endif // MAINWINDOW_H
但是链接时出现debug/moc_mainwindow.o:moc_mainwindow.cpp:(.rdata$_ZTV10MyEditline[vtable for MyEditline]+0x14): undefined reference to `MyEditline::~MyEditline()'
错误。
之后根据网上的资料,将工程目录下的所有makefile文件全部删除,XX-build-desktop文件夹也删除。
再运行qmake -project之后重新编译,还是同样的错误。
望哪位大侠不惜赐教
360度跪谢!
[解决办法]
呵呵 问题是LZ没在.cpp中写MyEditline::~MyEditline()这个析构函数,加上去就可以了