首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

PyQt学习随笔:槽函数获取信号发送对象的方法

  • 23-09-22 16:21
  • 2342
  • 9799
blog.csdn.net

在PyQt中,相似控件发送的信号可以每个控件信号对应一个槽函数,也可以将相似控件的相同信号对应到一个槽函数,但如果槽函数相同,怎么区分信号是谁发送的呢?那就是在信号函数中使用sender()函数获取信号的发送对象。

案例:
设计一个计算器,要求点击相关按键完成计算任务。老猿将计算器的所有按键分为三类,一类是操作数据和符号(包括数字、点、运算符、括号),按下是在显示界面直接显示对应字;第二类是等号直接触发计算;最后一类是清除键,清除显示数据,复位计算器。

设计的界面及信号槽函数连接如下:
在这里插入图片描述
老猿将第一类按键全部映射到了主界面对象的槽函数CalObjPressed(),为了识别按键对应的字符,采用如下代码:

 def CalObjPressed(self):
        if  self.resultfinished:self.ClearInput() #如果上次计算出了结果则清屏
        pButton = self.sender() #取信号发射对象
        char = pButton.text() #取信号发射对象的显示字符
        self.CalculatorDisplay.insertPlainText(char) #将字符追加到显示部分显示
        self.expr += char  #将字符记录到计算表达式
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用如上代码,则按下第一类按键就在显示界面最后位置增加该字符。

运行效果图如下:
在这里插入图片描述

完整的代码请参考本文的CSDN资源: PyQt槽函数获取信号发送对象的演示代码:计算器Calculator.rar。

老猿Python,跟老猿学Python!
博客地址:http://iyenn.com/index/link?url=https://blog.csdn.net/LaoYuanPython

老猿Python博客文章目录:http://iyenn.com/rec/324322.html

请大家多多支持,点赞、评论和加关注!谢谢!**

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树桌面应用开发PyQT333560 人正在系统学习中
老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI
注:本文转载自blog.csdn.net的LaoYuanPython的文章"https://blog.csdn.net/LaoYuanPython/article/details/101800541"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top