sender()是QObject类的方法,声明如下:

QObject *sender() const;

Qt助手的解释如下:

Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. The pointer is valid only during the execution of the slot that calls this function from this object's thread context.

翻译如下:

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

我写了一个demo测试,界面上有3个按钮,都绑定同一个槽函数,点击之后弹出各自的按钮名字,界面如下:

项目名称test_sender,头文件test_sender.h如下:

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_test_sender.h"class test_sender : public QMainWindow
{Q_OBJECTpublic:test_sender(QWidget *parent = Q_NULLPTR);public slots:void onFunc();private:Ui::test_senderClass ui;
};

test_sender.cpp

#include "test_sender.h"
#include <QMessageBox>test_sender::test_sender(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);connect(ui.btn1, &QPushButton::clicked, this, &test_sender::onFunc);connect(ui.btn2, &QPushButton::clicked, this, &test_sender::onFunc);connect(ui.btn3, &QPushButton::clicked, this, &test_sender::onFunc);
}void test_sender::onFunc()
{QPushButton *pBtn = (QPushButton*)sender();QMessageBox::about(this, "tips", pBtn->text());
}

在槽函数中返回按钮的对象指针,从而可以操作该按钮,调用它的一些方法,属性等。

运行结果,点击按钮1

点击按钮2

点击按钮3

sender的用法也可以用在别的控件上,如果项目有需要可以这样使用。

Qt sender()用法详解相关推荐

  1. Qt Creator用法详解

    Qt自带集成开发环境(IDE),名为Qt Creator.它可以在Linux.OS X和Windows上运行,并提供智能代码完成.语法高亮.集成帮助系统.调试器和剖析器集成,还集成了所有主要的版本控制 ...

  2. Qt QPlainTextEdit用法详解

    QPlainTextEdit 是一个多行文本编辑器,用于显示和编辑多行简单文本.另外,还有一个 QTextEdit 组件,是一个所见即所得的可以编辑带格式文本的组件,以 HTML 格式标记符定义文本格 ...

  3. Qt QLineEdit单行输入框用法详解

    Qt QLineEdit单行输入框用法详解 QLineEdit 是 Qt 提供的一个控件类,它直接继承自 QWdiget 类,专门用来创建单行输入框,如下图所示: 图 1 单行文本输入框 实际开发中, ...

  4. Qt QPushButton按钮用法详解

    Qt QPushButton按钮用法详解 按钮是 GUI 开发中最常用到的一种控件,作为一款著名的 GUI 开发框架,Qt 提供了很多种按钮,比如 QPushButton(普通按钮).QRadioBu ...

  5. Qt QListWidget列表框用法详解

    Qt QListWidget列表框用法详解 很多应用程序中需要以列表的形式向用户展示数据(资源),比如 Windows 操作系统会以列表的方式展示很多张桌面背景图(如图 1a) 所示),再比如很多音乐 ...

  6. ios开发读取剪切板的内容_iOS中管理剪切板的UIPasteboard粘贴板类用法详解

    一.自带剪切板操作的原生UI控件在iOS的UI系统中,有3个控件自带剪切板操作,分别是UITextField.UITextView与UIWebView.在这些控件的文字交互处进行长按手势可以在屏幕视图 ...

  7. 教程-Delphi中Spcomm使用属性及用法详解

    Delphi中Spcomm使用属性及用法详解 Delphi是一种具有 功能强大.简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选 ...

  8. QT QtableView操作详解

    本文实现了使用QtableView控件来显示数据,数据源使用txt文本作为数据源,使用了QStandardItemModel作为数据模型来实现了对TableView空间的初始化,和对txt数据源的增删 ...

  9. emit python 作用_PyQT5 emit 和 connect的用法详解

    对于PyQT4, PyQT5在一些使用上有着比较明显的变化有很大的变化,让人惊讶是在emit和connect上的一些变化比较有意思,相信也是QT为了更好的和Python相结合做的改进. 先上一张图: ...

最新文章

  1. 用面粉和醋洗头 让你的头发黑亮又浓密
  2. c语言休眠函数useconds类型,带你了解C语言中的Sleep函数(附代码)
  3. 如何基于LSM-tree架构实现一写多读
  4. python3的输出函数_教女朋友学Python3(二)简单的输入输出及内置函数查看 原创...
  5. move_uploaded_file返回false但实际成功_023 Spring Boot 搭建实际项目开发框架
  6. IIS启用GZip压缩
  7. php workman实现socket服务及客户端连接
  8. mobi格式电子书_中英文电子书下载网站大搜罗
  9. 精选PHP毕业设计12套——源码+论文完整资源
  10. 计算机网络基础知识总结,就这一篇了
  11. 马尔可夫链模型--通俗
  12. 王道机试 第十二章 动态规划 12.5 背包问题(0-1背包,完全背包,多重背包)
  13. 2017年信息学奥赛NOIP普及组试题
  14. 使用Mediapipe制作抖音特效
  15. 通俗总结python的继承机制:由内而外、先到先得
  16. poscms会员头像更新接口
  17. Linux中常用的英文总结
  18. 一个操作系统的实现(8)进程间通信
  19. NOIP2017模拟赛(4) 总结
  20. spark Streaming 流计算

热门文章

  1. 用Matplotlib绘制渐变的彩色曲线
  2. 数据结构课设:基于字符串模式匹配算法的病毒感染检测问题
  3. pythonstdin_关于python:从sys.stdin接收输入,非阻塞
  4. 《当咖啡与甘蓝汁竞争》:产品是负熵,帮助客户更好进化
  5. 1到100号的灯开关问题
  6. 给定一个整数,请将该数各个位上数字反转得到一个新数。
  7. docer-compose
  8. Docker三剑客之Docer Swarm
  9. win10分区工具下载
  10. 辅流式沉淀池固体负荷计算方法_20000m3/d污水厂设计计算书