一文帶你了解Qt中槽的使用
更新時間:2022年12月18日 10:17:43 作者:音視頻開發(fā)老舅
這篇文章主要為大家詳細介紹了Qt中槽的使用教程,文中的示例代碼講解詳細,對我們學習Qt有一定的幫助,感興趣的小伙伴可以跟隨小編一起學習一下
一、建立槽和按鈕之間的連接
connect(信號發(fā)送者,發(fā)送的信號,信號接收者,信號接收者的槽函數)
1、例子
connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(showinfo()));
解釋:
信號反發(fā)送者:pushButton(這是一個按鈕),發(fā)送信號:clicked(點擊按鈕),信號接收者:this(本類),信號接收者的槽函數:showinfo(點擊按鈕后響應的函數)
二、槽函數的定義
(1)槽函數
protected slots: void showinfo();
(2)自定義帶參數的槽函數
signals: void mysignal(); //自定義信號(不需要實現),發(fā)送信號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(); //自定義信號(不需要實現),發(fā)送信號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槽函數關聯(lián) connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(showinfo())); //把本類的信號mysignal與本類的槽函數myslot()關聯(lián) connect(this,SIGNAL(mysignal()),this,SLOT(myslot())); connect(this,SIGNAL(sendNum(int)),this,SLOT((int))); } MainWindow::~MainWindow() { delete ui; } //實現槽函數 void MainWindow::showinfo() { qDebug()<<"信號與槽函數測試"; //發(fā)送信號 emit mysignal(); } void MainWindow::myslot() { qDebug()<<"自定義信號觸發(fā)"; } void MainWindow::getNum(int num) { qDebug()<<num; } void MainWindow::on_closbt_clicked() { emit sendNum(123); }
到此這篇關于一文帶你了解Qt中槽的使用的文章就介紹到這了,更多相關Qt槽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C/C++?Qt?數據庫與ComBox實現多級聯(lián)動示例代碼
Qt中的SQL數據庫組件可以與ComBox組件形成多級聯(lián)動效果,在日常開發(fā)中多級聯(lián)動效果應用非常廣泛,今天給大家分享二級ComBox菜單如何與數據庫形成聯(lián)動,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-12-12VSCode插件開發(fā)全攻略之跳轉到定義、自動補全、懸停提示功能
這篇文章主要介紹了VSCode插件開發(fā)全攻略之跳轉到定義、自動補全、懸停提示,需要的朋友可以參考下2020-05-05