这篇文章主要讲解了“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的槽如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。