(上一章贴的GitBook的PyQt5教程今天发现打不开了,不过发现相同的文字出现的地方挺多……那这里再贴一个PyQt5中文教程)
我们调用QApplication的exec_()方法时(就是模板程序的最后一行sys.exit(app.exec_())),程序进入主循环。之后程序开始获取并分发事件。
整理理解为一个对象产生事件(signal),另一个对象响应事件(slot)。我们需要定义这两个对象的连接方式(connect)
(第一个程序为完整程序,后面的程序视情况截取片段)
使用信号与槽
我们编写一个程序,通过下方的滑块控制LCD数字的显示
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (QWidget, QLCDNumber, QSlider,
QVBoxLayout, QApplication)
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
lcd = QLCDNumber(self)
sld = QSlider(Qt.Horizontal, self)
vbox = QVBoxLayout()
vbox.addWidget(lcd)
vbox.addWidget(sld)
self.setLayout(vbox)
# signal.connect(slot)
sld.