4
我在Qt中嘗試覆蓋QTextEdit的子類的keyPressEvent,但給了我一個「多重定義的txt :: keyPressEvent(QKeyEvent *)」,我可以'牛逼找出原因:覆蓋QTextEdit子類中的keyPressEvent
//txt.h
#ifndef TXT_H
#define TXT_H
#include <QTextEdit>
class txt : public QTextEdit
{
Q_OBJECT
public:
txt(QWidget *parent = 0);
signals:
void keyPressEvent(QKeyEvent *e);
public slots:
};
#endif // TXT_H
//txt.cpp
#include "txt.h"
txt::txt(QWidget *parent) :
QTextEdit(parent)
{
}
void txt::keyPressEvent(QKeyEvent *e){
//do stuff with the key event
}
//main.cpp
#include <QtGui/QApplication>
#include "txt.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
txt w;
w.show();
return a.exec();
}
我嘗試着聲明的QTextEdit在txt.h只有在CPP#包括,但是這給了我一些其他錯誤(可能是因爲我需要的類在頭,因爲我「米繼承嗎?)
反正我在做什麼錯?
編輯:我也嘗試過將其與另一個類(QLabel),現在我得到了同樣的錯誤......
我不能相信這是那麼容易......非常感謝您的幫助! C++編譯器錯誤可能非常隱蔽:( – 2012-03-21 22:39:03