python Qt的事件循环 怎么使用
时间: 2024-05-01 20:23:02 浏览: 212
quamash:使用Qt Event-Loop实现PEP 3156事件循环(asyncio)API
Python Qt 的事件循环是通过 Qt 的 QApplication 类来实现的。以下是一个简单的例子:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
def button_clicked():
print('Button clicked')
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Click me', window)
button.clicked.connect(button_clicked)
window.show()
sys.exit(app.exec_())
```
在这个例子中,我们首先创建了一个 `QApplication` 实例。然后,创建了一个 `QWidget` 和一个 `QPushButton`,并将按钮添加到窗口中。我们还连接了按钮的 `clicked` 信号到一个 `button_clicked` 回调函数,当按钮被点击时,该函数将被调用。最后,我们调用 `app.exec_()` 来启动事件循环,并通过 `sys.exit()` 来确保应用程序在退出时清理干净。
事件循环会不断地处理来自用户界面的事件,例如鼠标点击、键盘按键等等。在上面的例子中,我们创建了一个按钮,并连接了一个回调函数,当用户点击按钮时,该函数将被调用。当事件循环运行时,它将不断地检查是否有新的事件需要处理,例如如果用户点击了按钮,事件循环将检测到这个事件,并调用相应的回调函数。
阅读全文