2013-04-06 158 views
0

我讓Qt-Creator使用Qt生成一個基本的窗口應用程序。我添加了一個按鈕並嘗試將其連接到插槽。它編譯好,但應用程序崩潰,並返回3,請幫助我,我不知道該怎麼做。如何將信號連接到插槽

#include "form1.h" 
#include "ui_form1.h" 
#include <iostream> 

Form1::Form1(QWidget *parent) : QMainWindow(parent), ui(new Ui::Form1) 
{ 
    connect(ui->buttonLoad,&QPushButton::clicked,this,&Form1::ButtonLoadClick); 
    ui->setupUi(this); 
} 

Form1::~Form1() 
{ 
    delete ui; 
} 

void Form1::ButtonLoadClick(){ 
    using namespace std; 
    cout << "click!" << endl; 
} 

在標題中,我只添加了一個公共插槽。

#ifndef FORM1_H 
#define FORM1_H 

#include <QMainWindow> 

namespace Ui { 
class Form1; 
} 

class Form1 : public QMainWindow 
{ 
    Q_OBJECT 

public: 
    explicit Form1(QWidget *parent = 0); 
    ~Form1(); 

public slots:      //here 
    void ButtonLoadClick();   //here 

private: 
    Ui::Form1 *ui; 
}; 

#endif // FORM1_H 
+0

你使用的是什麼Qt版本? – Amartel 2013-04-06 18:53:15

+0

我已經安裝了此版本:Qt 5.0.1 for Windows 32-bit(MinGW 4.7,823 MB) – 2013-04-06 18:57:03

回答

0

嘗試:

Form1::Form1(QWidget *parent) : QMainWindow(parent), ui(new Ui::Form1) 
{ 
    ui->setupUi(this); 
    connect(ui->buttonLoad,&QPushButton::clicked,this,&Form1::ButtonLoadClick); 
} 

setupUi創建所有可視化組件,包括按鈕。

+0

Ou,我不知道!謝謝。 :-) – 2013-04-06 19:05:55