如何将信号连接到插槽
问题描述:
我让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
答
尝试:
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
你使用的是什么Qt版本? – Amartel 2013-04-06 18:53:15
我已经安装了此版本:Qt 5.0.1 for Windows 32-bit(MinGW 4.7,823 MB) – 2013-04-06 18:57:03