如何将信号连接到插槽
Posted
技术标签:
【中文标题】如何将信号连接到插槽【英文标题】:How to connect a signal to a slot 【发布时间】:2013-04-06 18:46:01 【问题描述】:我让 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
【问题讨论】:
你使用的是什么 Qt 版本? 我已经安装了这个版本:Qt 5.0.1 for Windows 32-bit (MinGW 4.7, 823 MB) 【参考方案1】:试试:
Form1::Form1(QWidget *parent) : QMainWindow(parent), ui(new Ui::Form1)
ui->setupUi(this);
connect(ui->buttonLoad,&QPushButton::clicked,this,&Form1::ButtonLoadClick);
setupUi
创建所有可视化组件,包括按钮。
【讨论】:
噢,我不知道!谢谢你。 :-)以上是关于如何将信号连接到插槽的主要内容,如果未能解决你的问题,请参考以下文章