python - PySide2 无法通过基本示例正确关闭

标签 python python-3.x python-2.7 pyside2

当我运行基本脚本时:

import sys
from PySide2.QtWidgets import QApplication, QLabel

app = QApplication(sys.argv)
label = QLabel("Hello World")
label.show()
app.exec_()

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

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

RuntimeError: Please destroy the QApplication singleton before creating a new QApplication instance.

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

谢谢!

最佳答案

可能你的IDE已经创建了一个QApplication,所以解决方法是如果QApplication不存在就创建一个:

app = QApplication.instance()
if app is None: 
    app = QApplication(sys.argv)

关于python - PySide2 无法通过基本示例正确关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54281439/

相关文章:

python - 使用嵌套 if 的替代方法

python - 如何正确地将 C ioctl 调用转换为 python fcntl.ioctl 调用?

python - python 3.3.2+ 中的 yield from 和 yield 之间有什么区别

python-3.x - Python 3.7 和 Dataflow - SSL 证书问题

python - 从 csv 文件中获取随机元素

python - 使用 win32com 在 Outlook 中按对话线程对邮件进行分类/分组?

pandas - 如果数据框列值匹配字典键,检查不同的列是否匹配字典值

python - 使用正则表达式重新排序字符串

python - Django 迁移不会更改 AWS Elastic Beanstalk 中的数据库

python - 如何在不删除双端队列的情况下获取它的第一个值?