信号和槽

信号和槽简介

信号和槽机制是 QT 的核心机制,应用于对象之间的通信。

  • 信号(signal)其实就是一个事件被触发了
  • 槽(slot)其实是这个事件被触发后,处理事件逻辑的回调,主要是放处理逻辑的
  • 槽(slot)对应的是一个处理函数,有的时候我们称之为槽函数
  • Qt中对象已经包含了许多预定义的 signal(基本组件都有各自特有的预定义的信号)

按钮的点击事件

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys


def my_click():
    print("点击了按钮")


if __name__ == '__main__':
    # 创建app
    app = QApplication(sys.argv)

    # 窗体显示
    window = QWidget()

    # 显示文本 QLabel文本显示的
    btn = QPushButton('点击一下试试')

    # 将文本显示到窗体
    btn.setParent(window)

    window.show()

    btn.clicked.connect(my_click)

    # 执行app
    sys.exit(app.exec_())

Note

clicked是信号

my_click是槽函数

通过connect将信号绑定到槽函数上,当按钮被点击时,就会调用my_click函数