当前位置:   article > 正文

PyQt5快速入门教程5-信号与槽简单解析_qt中dial转为槽函数的代码

qt中dial转为槽函数的代码

PyQt5快速入门教程5-信号与槽简单解析

1、概念

GUI应用程序是事件驱动的。 事件主要由应用程序的用户生成。 但它们也可以通过其他手段产生,例如:网络连接,窗口管理器或定时器。 当我们调用应用程序的exec_()方法时,应用程序进入主循环。 主循环获取事件并将其发送到对象。

在事件模型中,有三个参与者:

  1. 事件来源
  2. 事件对象
  3. 事件目标

事件源是其状态更改的对象。 它会生成事件。 事件对象(event)将状态更改封装在事件源中。 事件目标是要通知的对象。 事件源对象将处理事件的任务委托给事件目标。

PyQt5具有独特的信号和插槽机制来处理事件。 信号和槽用于对象之间的通信。 发生特定事件时发出信号。 槽可以是任何Python可调用的函数。 当发射连接的信号时会调用一个槽。所以说,信号与槽的概念非常重要,我们接下来探讨以下内容:

  • 信号与槽如何建立连接
  • 如何重写或者自定义槽函数
  • 如何获取事件发送者信息
  • 如何发出自定义信号

2、简单的信号与槽示例(了解信号与槽如何建立连接)

代码如下:

  1. #coding=utf-8
  2. import sys
  3. from PyQt5.QtWidgets import QWidget, QLCDNumber, QDial, QApplication
  4. class Example(QWidget):
  5. def __init__(self):
  6. super().__init__()
  7. self.initUi()
  8. def initUi(self):
  9. lcd = QLCDNumber(self)
  10. dial = QDial(self)
  11. self.setGeometry(300, 300, 350, 250)
  12. self.setWindowTitle('PyQt5快速入门教程')
  13. lcd.setGeometry(100,50,150,60)
  14. dial.setGeometry(120,120,100,100)
  15. dial.valueChanged.connect(lcd.display)
  16. self.show()
  17. if __name__ == '__main__':
  18. app = QApplication(sys.argv)
  19. ex = Example()
  20. sys.exit(app.exec_())

运行结果:

在这个例子我们展示了一个QtGui.QLCDNumber和一个QtGui

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号