如何将信号连接到插槽 [英] How to connect a signal to a slot
本文介绍了如何将信号连接到插槽的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我让Qt-Creator使用Qt为我生成一个基本的窗口应用程序.我在那里添加了一个按钮,然后尝试将其连接到插槽.编译正常,但应用程序崩溃并返回3,请帮帮我,我不知道该怎么办.
I let Qt-Creator to generate me a basic window app using Qt. I added there a button and try to connect it to a slot. It compiles fine but the app crashes and returns 3, please help me, I don't know what to do.
#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;
}
在标题中,我仅添加了一个公共插槽.
In the header I only added one public slot.
#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
创建所有视觉组件,包括按钮.
setupUi
creates all visual components, including push button.
这篇关于如何将信号连接到插槽的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文