python之pyqt专栏5-信号与槽1

news2025/1/11 7:42:14

    

         在上一篇文章,我们了解到如果想要用代码改变QLabel的文本内容,可以调用QLabel类的text()函数。

        但是现在有个这样的需求,界面中有一个Button与一个Label,当点击Button时,将Label的内容改变为“Hello world!”

创建项目

        创建新项目,运行QtDesigner,设计UI界面

        对象列表

对象名类名
labelQLabel
pushbuttonQPushButton

         UI界面

 main.py 代码如下

# 导入sys模块
import sys
# PyQt6.QtWidgets模块中导入QApplication, QWidget
from PyQt6.QtWidgets import QApplication, QWidget

# untitled模块中导入Ui_Form类
from untitled import Ui_Form


class MyMainForm(QWidget, Ui_Form):
    def __init__(self, parent=None):
        # 调用父类的构造函数
        super(MyMainForm, self).__init__(parent)
        # 调用继承Ui_Form过来的setupUi函数
        self.setupUi(self)
        self.pushButton.clicked.connect(self.labelSet)

    def labelSet(self):
        self.label.setText("Hello world")

    # Press the green button in the gutter to run the script.
if __name__ == '__main__':
    # 实例化应用
    app = QApplication(sys.argv)
    # 实例化MyMainForm
    myw = MyMainForm()
    myw.show()
    # 启动应用程序的事件循环并等待用户交互,直到应用程序关闭。
    sys.exit(app.exec())

解析实现

        在main.py中,相当于python之pyqt专栏2-项目文件解析-CSDN博客的main.py只添加了下面的代码。

         self.pushButton.clicked.connect(self.labelSet)

    def labelSet(self):
        self.label.setText("Hello world")

       先看下面的labelSet(),这是个函数,里面执行的代码是self.label.setText("Hello world"),也就是将label的文本内容设置为“Hello world”。实现了需求功能是将Label的内容改变为“Hello world!”

        在QAbstractButton,signals可以看到有clicked,clicked是一个信号,当按钮被激活(即鼠标光标在按钮内部时按下然后释放),此信号被发出。

         信号是类的属性,换句话就是clicked信号是QAbstractButton的一个属性。

 

         connect,是将信号与槽函数连接的关联起来的函数。槽函数是通过connect与信号绑定的函数。

 self.pushButton.clicked.connect(self.labelSet)

           这句话的意思是,将pushButton的信号clicked,通过connect连接,绑定了槽函数labelSet ,也就是说当按钮被按下时,pushButton会发出clicked信号,然后激活了(调用)槽函数labelSet,

        因此新增的这些代码实现了,当点击Button时,将Label的内容改变为“Hello world!”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1274973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全网最新最全面的Jmeter接口测试:jmeter模拟http请求实战

1、get请求 http://www.hnxmxit.com/ 2、带参数的get请求 微信公众号获取token请求 3、自定义头部信息的请求 百度搜索请求 https://www.baidu.com/s?wd猫 4、post请求 微信公众号添加用户标签请求 注:post请求中如果body中的数据为json,一定要在信息头管理器中…

【SpringBoot系列】SpringBoot时间字段格式化

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

袋鼠云产品功能更新报告08期|近百项全新功能和优化,你要的都在这里!

欢迎来到袋鼠云08期产品功能更新报告!在瞬息万变的市场环境中,我们深知客户的需求与期待,因此,我们及时推出袋鼠云最新产品更新及优化,包括数据治理中心、Hive SQL 性能优化、新插件等,助力企业在数字世界中…

基于OpenSSL和nginx搭建本地https服务器(详细实操版)

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮&#xff0…

【从删库到跑路 | MySQL总结篇】索引的详细使用

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、索引…

PHP开源问答网站平台源码系统 源码全部开源可二次开发 附带完整的搭建教程

目前,问答网站已经成为人们获取知识、交流思想的重要平台。然而,对于许多开发者来说,从头开始构建一个问答网站可能会面临各种挑战。今天,小编给大家介绍一款基于PHP的开源问答网站平台源码系统,它不仅源码全部开源&am…

Apache2.4 AliasMatch导致301重定向问题?

环境:ubuntu18.04-desktop apache2版本: rootubuntu:/etc/apache2# apache2ctl -v Server version: Apache/2.4.29 (Ubuntu) Server built: 2023-03-08T17:34:33apache配置: DocumentRoot /var/www/html # Alias就没事 # Alias "/my…

05-基于Git的团队合作和跨团队合作方式

Git团队合作 团队协作 第一步: 在管理员的仓库中如git-shTest选择Settings-->Manage access-->invite a collaborator-->在弹出的界面中填入想要合作的人的GitHub账号 第二步: 管理员如yueyue复制邀请函中的地址内容通过微信钉钉等方式发送给该用户如atguigulinghuc…

Jetson Nano部署YOLOv5与Tensorrtx加速

一、烧录镜像 1、Jetson Nano烧写系统镜像 Jetson Nano是一款形状、外接口类似于树莓派的嵌入式主板,搭载了四核Cortex-A57处理器,GPU则是拥有128个NVIDIA CUDA核心的NVIDIA Maxwell架构显卡,内存为4GB的LPDDR4,存储则为16GB eM…

32岁,大专,转行网络工程师可行吗?

中午好,我是老杨。 32岁,是一个距离35岁不远不近的年纪,在IT行业里,也是一个最为尴尬的年纪。 年过三十,很多人在既有岗位做的麻木,想要跳槽,又怕承担动荡的风险; 到了这个年纪猜…

计算机新建盘符和重新分配盘符的大小

一、新建盘符 有些电脑刚买来时候,只有一个C盘分区,此时最好增加几个分区方便使用。 注意:分区操作要慎重,不要轻易去试。这里只针对购买的电脑厂家未做分区,只有一个C盘的情况。 如果自己电脑的分区本身已经满足你…

传统算法:使用 Pygame 实现插入排序

使用 Pygame 模块实现了插入排序的动画演示。首先,它生成一个包含随机整数的数组,并通过 Pygame 在屏幕上绘制这个数组的条形图。接着,通过插入排序算法对数组进行排序,动画效果可视化每一步的排序过程。在排序的过程中,程序将当前元素插入到已排序的部分,通过适度的延迟…

数字化IT合同管理软件, 实现高效合同管理!

在现代商业环境中,合同是商业活动中不可或缺的一部分。无论是与供应商、客户还是员工之间的合作,合同管理都是非常重要的。然而,传统的手动合同管理过程往往繁琐且易错,导致时间和资源的浪费,为了解决这些问题&#xf…

SpringBoot整合ES客户端操作

SpringBoot整合ES客户端操作 介绍ES ES下载与安装 https://www.elastic.co/cn/downloads/past-releases 不要装太新的,里面自己配置了jdk,太新的可能用不了,免安装的,解压就好 浏览器输入:http://localhost:9200/ 返…

HNU-编译原理-讨论课2

讨论课安排:2次4学时,分别完成四大主题讨论 分组:每个班分为8组,每组4~5人,自选组长1人 要求和说明: 以小组为单位上台报告;每次每组汇报2个小主题,每组按要求在2个小主题中各选1…

Python列表合并技术,让你的代码更具灵活性!

更多资料获取 📚 个人网站:ipengtao.com 在Python编程的世界中,列表是一项无处不在的利器,而对列表进行合并操作更是我们在日常编码中频繁遇到的任务之一。合并列表的方式多种多样,每一种方法都有其独特的适用场景和性…

【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心

微服务(6) 文章目录 微服务(6)1. 统一配置管理1.1 在nacos中添加配置文件1.2 从微服务拉取配置 2. 配置热更新2.1 方式一2.2 方式二 3. 配置共享1)添加一个环境共享配置2)在user-service中读取共享配置3&am…

socks5代理如何工作?socks5代理可以用来做什么?

socks5代理是一种网络代理服务器,它通常用于改变网络请求的传输方式和地址,从而使得网络请求能够通过代理服务器进行访问。本文将介绍socks5代理的工作原理、优势、使用场景以及如何选择合适的socks5代理。 一、socks5代理的工作原理 socks5代理是一种协…

使用系统ProgressBar实现三色进度条

使用系统ProgressBar实现如图三色进度条&#xff1a; //布局中<ProgressBarandroid:layout_width"0dp"android:layout_height"8dp"android:layout_marginLeft"16dp"app:layout_constraintBottom_toBottomOf"id/photo"app:layout_c…

云起无垠CEO沈凯文博士获评“2023年度技术突破者”奖

11月28日&#xff0c;由北京市科学技术协会和北京市通州区人民政府共同主办的“2023网络安全行业生态大会”在北京成功落下帷幕。在“金帽子”颁奖仪式中&#xff0c;对于2023年度的优秀企业和卓越个人进行了一一嘉奖。其中&#xff0c;云起无垠CEO沈凯文博士因其出色表现&…