PyQt——信号与槽基础应用

2023-05-16

	信号与槽有三种使用方法,第一种是内置信号与槽的使用,第二种是自定义信
号与槽的使用,第三是装饰器的信号与槽的使用。由于第三种方法本质上是第一
种方法的衍生

内置信号与槽的使用

所谓内置信号与槽的使用,是指在发射信号时,使用窗口控件的函数,而不是
自定义的函数。

     
from PyQt5.QtWidgets import  QPushButton ,  QApplication, QWidget 
from  PyQt5.QtWidgets import QMessageBox  
import sys 
   
app =  QApplication(sys.argv)
widget =  QWidget()

def showMsg():
     QMessageBox.information(widget, "信息提示框", "ok,弹出测试信息")
     
btn = QPushButton( "测试点击按钮", widget)
btn.clicked.connect( showMsg)
widget.show()
sys.exit(app.exec_())

自定义信号与槽的使用


from PyQt5.QtCore import QObject, pyqtSignal


# 信号对象
class QTypeSignal(QObject):
    # 定义一个信号
    sendmsg = pyqtSignal(object)

    def __init__(self):
        super(QTypeSignal, self).__init__()

    def run(self):
        # 发射信号
        self.sendmsg.emit('Hello Pyqt5')


# 槽对象          
class QTypeSlot(QObject):
    def __init__(self):
        super(QTypeSlot, self).__init__()

        # 槽对象里的槽函数

    def get(self, msg):
        print("QSlot get msg => " + msg)


if __name__ == '__main__':
    send = QTypeSignal()
    slot = QTypeSlot()
    # 1
    print('--- 把信号绑定到槽函数 ---')
    send.sendmsg.connect(slot.get)
    send.run()

    # 2
    print('--- 把信号断开槽函数 ---')
    send.sendmsg.disconnect(slot.get)
    send.run()

# -*- coding: utf-8 -*-


from PyQt5.QtCore import QObject , pyqtSignal

#信号对象
class QTypeSignal(QObject):
    #定义一个信号
	sendmsg = pyqtSignal( str,str)
      
	def __init__( self):
		super( QTypeSignal, self).__init__()
            
	def run( self):
        # 发射信号
		self.sendmsg.emit('第一个参数','第二个参数')
          
# 槽对象          
class QTypeSlot(QObject):
	def __init__( self):
		super( QTypeSlot, self).__init__()
    
    # 槽对象里的槽函数      
	def get(self, msg1, msg2):
		print("QSlot get msg => " + msg1 + ' ' + msg2)


if __name__ == '__main__':
	send = QTypeSignal()
	slot = QTypeSlot()
   #1 
	print('--- 把信号绑定到槽函数 ---')    
	send.sendmsg.connect( slot.get)
	send.run()
    
    #2
	print('--- 把信号断开槽函数 ---')        
	send.sendmsg.disconnect( slot.get )
	send.run()   


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyQt——信号与槽基础应用 的相关文章

随机推荐

  • Ubuntu创建用户(组)与权限管理

    Ubuntu创建用户 xff08 组 xff09 与权限管理 创建用户与用户组创建和删除用户及用户组给用户配置sudo权限用户管理相关的命令 创建用户与用户组 在管理服务器时 xff0c 需要注意用户权限分配 xff0c 这样不会造成重大的
  • docker修改容器与宿主机端口映射

    1 查看容器id docker ps 2 进入容器安装目录 cd var lib docker containers 找到容器对应的文件夹 xff0c 容器id与文件夹前面的id是一样的 进入文件夹 cd 593f0dd680d77e901
  • Prometheus源码学习(1) 编译源码

    代码里面看不明白的变量或者函数可以通过两种方式观测它的值来了解其含义 一种是把代码片段摘出来 xff0c 写到一个测试程序里运行一下另一种时日志里打印它的值来观察 第一种比较简单易行 xff0c 但是代码片段要比较独立才好做 xff0c 第
  • ubuntu的命令&操作

    记录ubuntu系统使用中一些常用的操作 1 在ubuntu终端打开图像界面的文件夹 xff1a cd到指定的目录之后执行nautilus即可 参考 xff1a linux系统ubuntu中在命令行如何打开图形界面的文件夹 李照耀 博客园
  • Leetcode解题目录(Python版)

    Leetcode解题目录 xff08 Python版 xff09 题目目录1 排序算法2 哈希表3 动态规划 题目来源于LeetCode官网题库 xff0c 解题思路参考官网各大佬 xff0c 这里做一个目录方便大家查找 xff0c 另外方
  • error while loading shared libraries: libopencv_imgcorecs.so.3.4:: cannot open shared object file:

    ubuntu16 04的环境下 xff0c 编译成功C 43 43 代码 xff0c 同时也安装好了opencv3 4 在运行时却出现error xff1a error while loading shared libraries libo
  • 基于LQR的车辆LKA算法设计

    记录分享一下基于LQR控制算法的车辆LKA设计 通过carsim和simulink进行联合仿真 1控制算法设计 整体思路是通过车辆以及道路模型 得到控制器的输入 v 纵向速度 r 横摆角速度 y 侧向路径偏移 phi 横摆角误差 通过最优控
  • 软件框架

    1 概念 框架 xff08 framework xff09 是一个框子 指其约束性 xff0c 也是一个架子 指其支撑性 是一个基本概念上的结构 xff0c 用于去解决或者处理复杂的问题 框架这个广泛的定义使用的十分流行 xff0c 尤其在
  • 使用C++开发STM32 FreeRTOS工程与添加DSP库

    续上一篇文章的内容 由CubeMX构建的Makefile工程只支持C和汇编的编译 xff0c 而且FreeRTOS的代码也需要作为C代码编译 当我们想使用C 43 43 时 xff0c 需要做一些准备并且修改Makefile xff1b 另
  • CPU分时、中断和上下文切换

    准备知识 xff1a 实时和分时 嵌入式操作系统可以分为实时操作系统和分时操作系统两类 我们现实之中使用的绝大多数是分时操作系统 xff0c 比如windows或者linux 但是比如汽车就必须使用实时操作系统 xff0c 举一个经常使用的
  • 如何从AD导出PDF原理图

    https jingyan baidu com article 7c6fb428d4759080642c9017 html
  • PyQt ——setStyleSheet用法

    这个是CSS的手册 xff0c 所有的东西都可以参考这里 xff1a https css doyoe com 下面是CSS 的东西 字体属性 xff1a font 大小 font size x large 特大 xx small 极小 一般
  • QMessageBox

    span class token triple quoted string string 39 39 39 简介 PyQt5中 QMessage 例子 39 39 39 span span class token keyword impor
  • QInputDialog

    span class token triple quoted string string 39 39 39 简介 PyQt5中 QInputDialog 例子 39 39 39 span span class token keyword i
  • python cherry 用法

    CheeryPy是一个 Pythonic 的 面向对象的 Web 框架 xff0c 能够用于接受POST或者GET请求并进行回复 CheeryPy中文文档 xff1a Cherrypy 一个极简的python web框架 CherryPy
  • PyQt——简单进度条程序

    span class token keyword from span PyQt5 span class token punctuation span QtCore span class token keyword import span Q
  • PyQt——窗口居中

    span class token comment coding utf 8 span span class token keyword import span sys span class token keyword from span P
  • PyQt——分离UI主线程与工作线程

    span class token comment coding utf 8 span span class token keyword import span sys span class token keyword from span P
  • PyQt——信号与槽简介

    信号与槽简介 定义信号 操作信号
  • PyQt——信号与槽基础应用

    信号与槽有三种使用方法 xff0c 第一种是内置信号与槽的使用 xff0c 第二种是自定义信 号与槽的使用 xff0c 第三是装饰器的信号与槽的使用 由于第三种方法本质上是第一 种方法的衍生 内置信号与槽的使用 所谓内置信号与槽的使用 xf