当前位置: 首页 > news >正文

Qt sender()函数

sender函数原型:

QObject *sender() const;

 如果在由信号激活的插槽中调用该函数,返回指向发送信号的对象的指针,否则返回0,该指针仅在从该对象的线程上下文调用此函数的槽执行期间有效。

主要代码如下:
其中运用了QList类直接foreach循环连接槽函数或者每个按钮都连接

QList<QPushButton *> btnColor; //此代码写入MainWindow.h文件中btnColor << ui->btn_1 << ui->btn_2 << ui->btn_3 ;
foreach (QPushButton *btn, btnColor) {connect(btn, SIGNAL(clicked(bool)), this, SLOT(changeColor()));
}//connect(ui->btn_1, &QPushButton::clicked, this, &changeColor);
//connect(ui->btn_2, &QPushButton::clicked, this, &changeColor);
//connect(ui->btn_3, &QPushButton::clicked, this, &changeColor);//槽函数
void MainWindow::changeColor()
{QPushButton *pBtn = (QPushButton*)sender();QMessageBox::about(this, "tips", pBtn->text());int index = btnColor.indexOf(pBtn);qDebug() << "index == " << index ;}

mainWindow.ui

结果:每个按键对应着每个按键的截图;index就是按照上面的btnColor依次排序,btn_1的序号为0,btn_2的序号为1,btn_3的序号为2.

参考:Qt sender()用法详解-CSDN博客

http://www.lryc.cn/news/270577.html

相关文章:

  • Java开发框架和中间件面试题(6)
  • 附录E SQL入门之SQL保留字
  • thinkphp6.0升级到8.0
  • 机器学习(一) -- 概述
  • SpringBoot定时监听RocketMQ的NameServer
  • 电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理
  • 各部门请注意,VELO维乐潮流骑士尼莫出街啦,快来加入吧!
  • Flutter配置Android和IOS允许http访问
  • [设计模式 Go实现] 创建型~抽象工厂模式
  • 移动端开发框架mui代码在安卓模拟器上运行(HbuilderX连接到模拟器)
  • upload-labs Pass-03(黑名单验证,特殊后缀)问题纠正
  • 微信小程序-父子页面传值
  • 【JavaScript】浮点数精度问题
  • 使用axios发送get和post请求
  • 【基于VirtualBox及openEuler20.03 TLS SP1编译openGauss2.1.0源码】
  • hibernate 使用注解+拦截器实现自动开启、关闭session,提交、回滚事务
  • Solidworks学习笔记
  • Redis经典五大类型源码及底层实现(一)
  • 数据库闭包求法 附相关习题及解析
  • idea利用JRebel插件,无需重启,实现Spring Boot项目热重载,节省开发时间和精力!
  • 学习体系结构 - AArch64内存管理
  • Vue3 精通指南:如何在 setup 函数中巧妙利用 Vuex
  • Linux 服务器安全策略技巧:启用账户锁定策略
  • 野火霸道-V2+3.2寸屏+FreeRTOS+LVGL移植
  • 操作教程|MeterSphere UI测试+VNC:简单、快捷地查看UI测试实时执行详情
  • 工具--Git详解
  • windows server 2022 启用SYN攻击保护
  • 汽车保养软件app开发步骤
  • 【HarmonyOS】ArkTS语言介绍与组件方式运用
  • 音频播放软件Foobar2000 mac特点介绍