0
我讀過幾篇關於Qt按鈕事件的文章,但似乎沒有解決我的問題。我有一個簡單的用Qt Designer構建的GUI,它只包含一個按鈕。我得到的運行時錯誤如下:Qt按鈕事件使用Qt設計器不工作:「沒有這樣的插槽QApplication」
Object :: connect:CameraWindow.h中沒有這樣的插槽QApplication :: FullSizeR():25 Object :: connect :(發送者姓名:'FullSize') Object :: connect :(接收器名稱:'CameraViewer')
FullSizeR()是我在按下My按鈕時要調用的函數。
這裏是如何主要是指:
int main(int argc, char *argv[]) {
// initialize resources, if needed
// Q_INIT_RESOURCE(resfile);
QApplication app(argc, argv);
CameraWindow cw;
cw.show();
//app.setActiveWindow(&cw);
//cw.getData(); // this paints the window
return app.exec();
}
這是CameraWindow的是如何定義的:
class CameraWindow : public QDialog{
Q_OBJECT
public:
bool serverConnected;
void getData();
CameraWindow()
{
widget.setupUi(this); //this calls Qt Designer code
//the function bellow produces a run-time error
//access the button via widget.FullSize
connect(widget.FullSize,SIGNAL(clicked()), qApp, SLOT(FullSizeR()));
}
QLabel *imgl;
virtual ~CameraWindow();
protected slots:
void FullSizeR();
private:
Ui::CameraWindow widget;
};
我已經適當地包括的QObject和下我的函數定義‘插槽’ 這是FullSizeR的定義:
void CameraWindow::FullSizeR()
{
QMessageBox::information(this,"Button clicked!\n", "Warning");
}
以上不是他們很難解決。我知道它的簡單的東西,如果我只知道Qt的好一點: -/
感謝所有
啊啊謝謝!它必須是那麼簡單。 QApplication指的是QApp並不明顯,但現在它是有道理的。 – roboto1986
@ roboto1986:我在早期也犯過這種錯誤。 :) – Donotalo