網站首頁 編程語言 正文
一、建立槽和按鈕之間的連接
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);
}
原文鏈接:https://blog.csdn.net/m0_60259116/article/details/128345661
相關推薦
- 2022-10-06 Python中requests庫的基本概念與具體使用方法_python
- 2023-05-26 Pycharm直接使用遠程服務器代碼并調試的解決方法_python
- 2022-07-29 Pytorch實現常用乘法算子TensorRT的示例代碼_python
- 2023-11-12 python enumerate函數用法
- 2023-04-18 C++超詳細分析優化排序算法之堆排序_C 語言
- 2022-03-30 ASP.NET?Core使用JWT自定義角色并實現策略授權需要的接口_實用技巧
- 2023-01-28 C#繪圖基本方法實例總結_C#教程
- 2022-12-05 關于adfuller函數返回值的參數說明與記錄_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支