qt 槽函数用lambda表达式实现
时间: 2024-02-27 18:52:26 浏览: 169
Qt connect传参方式及lambda函数传参方式演示
在 Qt 中使用 lambda 表达式来定义槽函数,可以使用 `QtCore.QObject.connect()` 函数,该函数可以将信号和槽连接起来。以下是一个示例:
```python
from PyQt5 import QtCore, QtWidgets
class MyWidget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.button = QtWidgets.QPushButton("Click me", self)
self.button.clicked.connect(lambda: self.on_button_clicked("Hello world!"))
def on_button_clicked(self, text):
print(text)
if __name__ == '__main__':
app = QtWidgets.QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
```
这里使用 `lambda` 表达式来定义按钮的点击槽函数 `on_button_clicked`,并在 `clicked` 信号触发时调用该函数。在 `lambda` 表达式中,我们将 `"Hello world!"` 作为参数传递给 `on_button_clicked` 函数。当按钮被点击时,该函数会将 `"Hello world!"` 字符串打印到控制台。
阅读全文