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

哈尔滨服务专业的建站百度快速排名系统查询

哈尔滨服务专业的建站,百度快速排名系统查询,公司网站要使用我个人的信息备案,东莞北京网站建设价格低QT的信号槽机制是一种非常优秀高效的对象间通信的方式。当调用 signal.emit(*args) 时,PySide 会通知所有连接到该信号的槽函数,并将参数传递给这些槽函数。如果将信号作为出入接口,可以方便地在画面中不同的构件、画面之间以及与功能函数间传…

         QT的信号槽机制是一种非常优秀高效的对象间通信的方式。当调用 signal.emit(*args) 时,PySide 会通知所有连接到该信号的槽函数,并将参数传递给这些槽函数。如果将信号作为出入接口,可以方便地在画面中不同的构件、画面之间以及与功能函数间传递数据,实现程序的模块化设计和前后端分离,也为程序的迁移复用打下了基础。

        一个信号与槽的demo:

import sys
from PySide6.QtCore import QObject, Signal
from PySide6.QtWidgets import QApplication, QWidget# 定义一个功能函数类
class Myfunction(QObject):signal_obj = Signal(object)   # 功能函数类的信号def __init__(self):super().__init__()# 连接信号到槽函数self.signal_slot()          # 连接信号到槽函数self.var_obj = None        # 功能函数实体的变量# 定义槽函数和信号连接def signal_slot(self):def slot(obj):self.var_obj = objprint(f"功能函数实体接收到了外部信号:{obj}")self.signal_obj.connect(slot)  # 连接信号到槽函数# 定义一个窗口类
class MyWidget(QWidget):signal_obj = Signal(object)   # 窗口类的信号def __init__(self):super().__init__()# 连接信号到槽函数self.signal_slot()          # 连接信号到槽函数self.var_obj = 0        # 窗口实体的变量# 定义槽函数和信号连接def signal_slot(self):def slot(obj):print(f"窗口实体接收到了内部信号:{obj}")self.signal_obj.connect(slot)  # 连接信号到槽函数# 重写鼠标按下事件def mousePressEvent(self, event):super().mousePressEvent(event)self.var_obj += 1self.signal_obj.emit(self.var_obj)  # 发送信号if __name__ == '__main__':app = QApplication(sys.argv)func = Myfunction()   # 功能函数实体widget = MyWidget()   # 窗口实体widget.show()# 连接项目级的信号到槽函数def signal_slot():def slot(obj):   # 项目级的槽函数func.signal_obj.emit(obj)     # 功能函数实体发送信号widget.signal_obj.connect(slot)   # 窗口实体的信号发射后,连接到项目级的槽函数signal_slot()sys.exit(app.exec())

        在这个代码中,重新定义了窗口类的鼠标按下的事件,当鼠标按下时,窗口实体的信号发射,窗口实体的信号连接了一个其自身的内部槽函数和一个项目级的槽函数,在项目级的槽函数中,功能函数实体的信号将接收到的窗口实体的信号发射并由其自身的内部槽函数接收。这样就实现了不同的组件之间的信号传递,而且每个组件的代码中不会出现不属于其自身的任何元素,为程序的模块化和前后端分离打下基础。

运行截图:

进一步的,将功能函数实体的运算结果发回窗口实体:

import sys
from PySide6.QtCore import QObject, Signal
from PySide6.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout# 定义一个功能函数类
class Myfunction(QObject):signal_input = Signal(object)   # 功能函数类的输入信号signal_output = Signal(object)  # 功能函数类的输出信号def __init__(self):super().__init__()# 连接信号到槽函数self.signal_slot()          # 连接信号到槽函数self.var_obj = None        # 功能函数实体的变量def signal_slot(self):def slot1(obj):print(f"功能函数实体接收到了外部信号:{obj}")self.var_obj = obj * 10  # 功能函数实体对输入信号进行处理self.signal_output.emit(self.var_obj)  # 功能函数实体发送信号self.signal_input.connect(slot1)  # 连接信号到槽函数# 定义一个窗口类
class MyWidget(QWidget):signal_input = Signal(object)   # 窗口类接收到的信号signal_output = Signal(object)   # 窗口类发出的信号def __init__(self):super().__init__()# 连接信号到槽函数self.signal_slot()          # 连接信号到槽函数self.var_obj = 0        # 窗口实体的变量self.setupUi()def setupUi(self):self.label = QLabel("", self)  # 窗口实体的标签layout = QVBoxLayout(self)layout.addWidget(self.label)  # 窗口实体的标签def signal_slot(self):def slot(obj):self.label.setText(f"窗口实体接收到了外部信号:{obj}")self.signal_input.connect(slot)  # 连接信号到槽函数# 重写鼠标按下事件def mousePressEvent(self, event):super().mousePressEvent(event)self.var_obj += 1self.signal_output.emit(self.var_obj)  # 发送信号if __name__ == '__main__':app = QApplication(sys.argv)func = Myfunction()   # 功能函数实体widget = MyWidget()   # 窗口实体widget.show()# 连接项目级的信号到槽函数def signal_slot():def slot1(obj):   # 项目级的槽函数func.signal_input.emit(obj)     # 功能函数的输入信号发送widget.signal_output.connect(slot1)   # 窗口实体的输出信号发射后,连接到项目级的槽函数def slot2(obj):   # 项目级的槽函数widget.signal_input.emit(obj)     # 窗口实体的输入信号发送func.signal_output.connect(slot2)   # 功能函数实体的输出信号发射后,连接到项目级的槽函数signal_slot()sys.exit(app.exec())

 实现了信号的处理和交互:

http://www.dtcms.com/wzjs/357142.html

相关文章:

  • 前端网站大全广州新闻热点事件
  • 国际网站制作高端网站定制开发
  • logo设计说明模板100字上海百度搜索优化
  • 怎么样用dw做网站太原网站建设开发
  • 大型网站快速排名seo短视频网页入口引流网站
  • 网盘搜索网站如何做的沈阳网站优化
  • 电影网站怎么做的百度指数官方版
  • 做网站需要学什么语言万网域名查询工具
  • 制作公司网站的规划教育培训网
  • 做网站大图片传统营销与网络营销的整合方法
  • wordpress 私信插件seo网络营销技巧
  • 免费网站建设糕点烘焙专业培训学校
  • 网站建设订单模板seoaoo
  • 做网站首选科远网络信息流广告投放渠道
  • 桂林北京网站建设seo推广一年要多少钱
  • 网站建设的可用性优化关键词的方法
  • php做网站弊端百度推广费用一天多少钱
  • vs2013做网站教程2024年重大政治时事汇总
  • 成都建设网站报价搜索词分析
  • 做暧嗳xo小视频免费网站百度一下网页版搜索引擎
  • 建立网站平台搜索引擎营销题库和答案
  • 网站上360 旋转的图是怎么做的市场营销方案怎么写
  • 贵州高端网站建设seoul是什么国家
  • 网站源代码 php百度双十一活动
  • 网站制作公司汉狮网络广告联盟怎么加入
  • 做简历的软件免费搜索引擎优化的方式
  • 新手怎么做电商在哪个网站搜索引擎营销的名词解释
  • phpcms律师网站源码大气律师事务所模板怎么优化
  • 漳州建设项目公告网站网络培训中心
  • 怎么做钓鱼网站吗如何推广