zoukankan      html  css  js  c++  java
  • Pyqt4的事件与信号

    事件:

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

    信号与槽:

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

            在Python中, 槽可以是任何可以被调用的对象。

    import sys
    from PyQt4 import QtCore, QtGui
    
    class MainWindow(QtGui.QWidget):
        
        def __init__(self, parent = None):
            QtGui.QWidget.__init__(self, parent)
            
            self.setWindowTitle('signal & slot')
            
            # 创建一个LCD显示器和一个滑块
            lcd = QtGui.QLCDNumber(self) 
            slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
            
            vbox = QtGui.QVBoxLayout()
            vbox.addWidget(lcd)
            vbox.addWidget(slider)
            
            self.setLayout(vbox)
            
            # 将滑块的valueChanged()信号连接到LCD显示器的display()槽函数中。
            # 连接方法connect有4个参数: 信号发送者对象(这里是slider对象), 要发射的信号(这里是valueChanged信号),
            # 信号的接收者对象(这里是lcd对象), 对信号做出响应的槽函数(这里是display方法)
            self.connect(slider, QtCore.SIGNAL('valueChanged(int)'), lcd, QtCore.SLOT(
                'display(int)'))
            
            self.resize(250, 150)
            
                   
    app = QtGui.QApplication(sys.argv)
    main = MainWindow()
    main.show()
    sys.exit(app.exec_())

  • 相关阅读:
    7月31号
    7月29号
    性能优化、微服务、并发编程、开源框架、分布式,面试你还缺什么
    Java 异常_2
    Java 异常浅学
    Java IO浅学
    Java File文件的读写
    Java BufferedReader 控制台输入
    Java 内部类
    Java 动静态绑定
  • 原文地址:https://www.cnblogs.com/xiyuan2016/p/7207119.html
Copyright © 2011-2022 走看看