tft每日頭條

 > 生活

 > qt中如何定義槽

qt中如何定義槽

生活 更新时间:2025-01-24 18:46:11

qt中如何定義槽?connect(信号發送者,發送的信号,信号接收者,信号接收者的槽函數),今天小編就來聊一聊關于qt中如何定義槽?接下來我們就一起去研究一下吧!

qt中如何定義槽(QT中槽的使用)1

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()

【領更多Qt學習資料,點擊下方鍊接免費領取↓↓,先碼住不迷路~】

點擊→Qt開發進階技術棧學習路線和資料

槽函數應用例子:

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); }

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved