gpt4 book ai didi

python - 我应该在我的 PyQt 应用程序中使用 `app.exec()` 还是 `app.exec_()`?

转载 作者:IT老高 更新时间:2023-10-28 22:07:31 25 4
gpt4 key购买 nike

我使用 Python 3 和 PyQt5。这是我的测试 PyQt5 程序,关注最后两行:

from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys

class window(QWidget):
def __init__(self,parent=None):
super().__init__(parent)
self.setWindowTitle('test')
self.resize(250,200)

app=QApplication(sys.argv)
w=window()
w.show()
sys.exit(app.exec())
#sys.exit(app.exec_())

我知道 exec 是 Python 中的语言关键字。但是代码 Official PyQt5 Documentation (特别是 Object Destruction on Exit 部分)。我看到该示例显示了 app.exec() 的使用,这让我感到困惑。

当我在我的机器上测试它时。我发现与我的结局没有任何明显的区别。使用和不使用 _ 都会在没有时间差的情况下产生相同的输出。

我的问题是:

  • 我使用 app.exec() 有什么问题吗?喜欢与 Python 的内部 exec 冲突?我怀疑是因为两个 exec 都在执行某些东西。
  • 如果不能,我可以同时使用两者吗?

最佳答案

这是因为在 Python 3 之前,exec was a reserved keyword ,因此 PyQt 开发人员为其添加了下划线。从 Python 3 开始,execno longer a reserved keyword (因为它是一个内置函数;与 print 的情况相同),因此在 PyQt5 中提供不带下划线的版本以与 C++ 文档保持一致是有意义的,但保留带下划线的版本以实现向后兼容性.所以对于带有 Python 3 的 PyQt5,这两个 exec 函数是相同的。对于较旧的 PyQt,只有 exec_() 可用。

关于python - 我应该在我的 PyQt 应用程序中使用 `app.exec()` 还是 `app.exec_()`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22610720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com