在PyQt5中,exec()
和exec_()
是两个不同的方法,用于执行动态创建的Python代码。它们的主要区别在于exec()
是Python的关键字,但不能直接用作方法名,因此在PyQt5中,使用exec_()
作为替代。
exec_()
方法接受一个字符串作为参数,该字符串包含要执行的Python代码。它类似于Python的exec
语句,但避免了与Python关键字的冲突。
以下是一个示例,说明如何在PyQt5中使用exec_()
方法执行动态创建的Python代码:
import sys
from PyQt5.QtWidgets import QApplication, QPushButton
app = QApplication(sys.argv)
# 创建一个按钮
button = QPushButton("Click me")
# 动态创建一个槽函数
def on_button_click():
print("Button clicked")
# 将动态创建的槽函数与按钮的点击信号关联
button.clicked.connect(on_button_click)
# 显示按钮
button.show()
# 执行主循环
sys.exit(app.exec_())
在上面的例子中,exec_()
方法用于执行app
对象的exec_()
方法,这将启动PyQt5的事件循环,使应用程序保持活动状态。