「PyQt5」- signals and 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)

参考文献

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