这篇文章主要讲解了“Qt的槽如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Qt的槽如何使用”吧!
connect(信号发送者,发送的信号,信号接收者,信号接收者的槽函数)
1、例子
connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(showinfo()));
解释:
信号反发送者:pushButton(这是一个按钮),发送信号:clicked(点击按钮),信号接收者:this(本类),信号接收者的槽函数:showinfo(点击按钮后响应的函数)
(1)槽函数
protected slots:
void showinfo();
(2)自定义带参数的槽函数
signals:
void mysignal(); //自定义信号(不需要实现),发送信号emit mysignal()
槽函数应用例子:
1、在头文件中定义槽函数
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
//槽函数声明
protected slots:
void showinfo();//槽函数
void myslot();
//自定义带参数的槽函数
signals:
void mysignal(); //自定义信号(不需要实现),发送信号emit mysignal()
void sendNum(int num);
private slots:
void on_closbt_clicked();
void getNum(int num);
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
2、在源文件中建立按钮与槽函数之间的连接
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug.h>
#include <QtWidgets/QStackedLayout>
#include "form.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//把按钮的信号与本类的showinfo槽函数关联
connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(showinfo()));
//把本类的信号mysignal与本类的槽函数myslot()关联
connect(this,SIGNAL(mysignal()),this,SLOT(myslot()));
connect(this,SIGNAL(sendNum(int)),this,SLOT((int)));
}
MainWindow::~MainWindow()
{
delete ui;
}
//实现槽函数
void MainWindow::showinfo()
{
qDebug()<<"信号与槽函数测试";
//发送信号
emit mysignal();
}
void MainWindow::myslot()
{
qDebug()<<"自定义信号触发";
}
void MainWindow::getNum(int num)
{
qDebug()<<num;
}
void MainWindow::on_closbt_clicked()
{
emit sendNum(123);
}
感谢各位的阅读,以上就是“Qt的槽如何使用”的内容了,经过本文的学习后,相信大家对Qt的槽如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。