PyQt5:事件与信号(16)

原创 2016年06月01日 00:28:48

学习《PyQt4入门指南 PDF中文版.pdf 》笔记

事件

         事件(Events)是GUI程序中很重要的一部分。它由用户或系统产生。当我们调用程序的exec_()方法时,程序就会进入主循环中。主循环捕获事件并将它们发送给相应的对象进行处理。为此,Trolltech引入了信号与槽机制。

信号与槽

         当用户点击一个按钮,拖动一个滑块或进行其他动作时,相应的信号就会被发射。除此之外,信号还可以因为环境的变化而被发射。比如一个运行的时钟将会发射时间信号等。而所谓的槽则是一个方法,该方法将会影响它所连接的信号。在Python中,槽可以是任何可以被调用的对象。

<span style="font-size:14px;">#!/usr/bin/python
# sigslot.py
from PyQt5.QtWidgets import QApplication, QLCDNumber, QSlider, QVBoxLayout
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt

class SigSlot(QtWidgets.QWidget):
    def __init__(self, parent= None):
        QtWidgets.QWidget.__init__(self)
  
        self.setWindowTitle('signal & slot')
        lcd = QLCDNumber(self)
        slider = QSlider(Qt.Horizontal, self)
        
        vbox = QVBoxLayout()
        vbox.addWidget(lcd)
        vbox.addWidget(slider)

        self.setLayout(vbox)
        slider.valueChanged.connect(lcd.display)        
        self.resize(350,  300)


if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = SigSlot()
    qb.show()
    sys.exit(app.exec_())</span>

        在这个示例中,我们创建一个LCD显示器和一个滑块。通过拖动滑块我们可以改变LCD显示器的数字。

         slider.valueChanged.connect(lcd.display)

         这里我们将滑块slider的valueChanged()信号connect(连接)到LCD显示器的display()槽函数上。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

PyQt5:QRadioButton 单选框(23)

学习《PyQt4入门指南 PDF中文版.pdf 》笔记 dioButton单选框       单选框具有两种状态:被选中或未被选中。当用户选择或者取消选择,单选框就会发射一个toggled...

Qt5学习笔记——QRadioButton与QButtonGroup

【我是小标题:使用QToolButton实现radio button功能。】QRadioButton是什么?   下图是Windows系统中典型的radio button显示效果。      Q...

PyQt5初级教程--PyQt5中的事件和信号[6/13]

想用PyQt5写GUI,但是网上的PyQt5资源太少了,找到一个英文的,翻译一下,和学习PyQt5的同学共勉! (本系列中所有代码在windows7 64位[]/Python 3.4.3 32bit...

Pyqt5系列(七)-信号与槽机制

信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。 在l...

PyQt5:计算器UI(1)

对照PyQt5的计算器demo 和 Qt4.7的计算器demo ,初步了解信号槽、函数和UI的写法。 大概了解了下UI的写法 1. main.cpp 在Qt C++ 里面首先入口函数...

Halcon实例教程之金属表面划痕及裂缝检测

案例介绍 网友随手拍摄了金属表面的图片如下图所示,金属表面有白色的划痕和黑色的裂缝,要求同时识别出划痕和裂缝的具体位置。 案例分析 由于拍摄图片没有明显的定位点,因此手动设置了ROI区域。然后采...

PyQt5教程-09-事件与信号

事件源是对象的状态改变而产生事件。事件对象(事件)是封装在事件源中状态变化的对象。事件目标是希望被通知的对象。事件源对象代表处理一个事件到事件目标的任务。 PyQt5使用独特的信号和槽机制来处理事件...

PyQt5学习记录(4)---事件和信号

事件(Event)所有的GUI应用都是事件驱动的,事件主要由应用的用户操作产生的。但是事件可能由其他条件触发,比如:一个网络连接、一个定时器、一个窗口管理器,这些动作都可能触发事件的产生。当调用app...

PyQt5教程(四)——事件与信号

在这部分教程中我们将探讨在程序内部发生的事件与信号。事件所有的GUI程序都是事件驱动的。事件主要由用户触发,但也可能有其他触发方式:例如网络连接、window manager或定时器。当我们调用QAp...

pyqt5学习(四)事件和信号

顾名思义:事件就是执行的东西,信号就和触发类似吧,是一种动作 QLCDNumber类:类似于QLable是一种显示标签,一般好像多用于显示时间 QSlider类:滑动条类 QtCore:包含了核心的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:事件与信号(16)
举报原因:
原因补充:

(最多只允许输入30个字)