您好,登錄后才能下訂單哦!
這篇文章主要講解了“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。