PySide2没有正确关闭基本示例

mm_*_*mm_ 7 python python-2.7 python-3.x pyside2

当我运行基本脚本时:

import sys
from PySide2.QtWidgets import QApplication, QLabel

app = QApplication(sys.argv)
label = QLabel("Hello World")
label.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

这是第一次一切正常.但是,如果我第二次运行它,我得到:

File "../script.py", line 17, in <module>
app = QApplication(sys.argv)

RuntimeError: Please destroy the QApplication singleton before creating a new QApplication instance.
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu机器上运行脚本.我在python2和python3中得到了同样的错误.

谢谢 !

eyl*_*esc 9

您的IDE可能已经创建了QApplication,因此解决方案是创建QApplication(如果它不存在):

app = QApplication.instance()
if app is None: 
    app = QApplication(sys.argv)
Run Code Online (Sandbox Code Playgroud)