如何将信号连接到插槽

如何将信号连接到插槽

问题描述:

我让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

尝试:

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