「PyQt5」-

signals and slots

PyQt5 signals and slots
Support for Signals and Slots
PySide/PyQt Tutorial: Creating Your Own Signals and Slots
PyQt – Signals & Slots
Qt 5.13 / Qt Core / Signals & Slots

本部分介绍在 Python 的 Qt 中如何处理信号与槽。

# Slot

响应于特定信号而被调用的函数,所以本质上还是函数。在 Qt 中的 Widget 有许多预定义的 slot,但通常的做法是将 Widget 子类化,并添加自己的 slot,以便可以处理感兴趣的信号。

# Signal

当对象的内部状态发生更改时,对象会发出 Signal。Signal 是公共访问函数,所以说 Signal 还是函数,可以从任何地方发出,但官方建议只从定义信号及其子类的类中发出。

下面是一个及其简单的示例:

# 在按钮点击的时候,触发内部的 slot_method 方法
# 行话:clicked 信号被连接到 slot_method 槽。当发出 clicked 信号时,将执行 slot_method 方法。
m_button.clicked.connect(self.slot_method)

参考文献