python PyQt 事件监听
时间: 2023-10-12 14:16:57 浏览: 103
在 PyQt 中,事件监听通常使用信号(signal)和槽(slot)机制来实现。信号是一种特殊的函数,负责发出事件的信号,而槽是处理这些事件的函数。当一个事件发生时,信号会被发出,然后与之关联的槽会被调用。
以下是一个简单的例子,演示如何使用信号和槽来监听 QPushButton 的点击事件:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
btn = QPushButton('Button', self)
btn.clicked.connect(self.buttonClicked)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Example')
self.show()
def buttonClicked(self):
print('Button clicked')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个名为 Example 的 QWidget,其中包含一个名为 btn 的 QPushButton。我们使用 `btn.clicked.connect()` 将按钮的 clicked 信号连接到我们自己编写的 buttonClicked 槽。当按钮被点击时,buttonClicked 槽将被调用,并输出一条消息。
这只是一个简单的例子,但是使用信号和槽机制,我们可以监听和处理各种 PyQt 控件的事件,包括按钮点击、文本框输入等等。
阅读全文