python - 为什么 PyQt 在我的 Anaconda (Spyder) 窗口标题栏中显示 "not responding"?

标签 python pyqt pyqt4 anaconda

在后台运行程序后,当我执行时,我得到(标题栏中没有响应)。

enter image description here

如果我尝试关闭它会显示此

enter image description here

关闭后开始给出内核终止消息,如右侧屏幕所示。

enter image description here

我正在运行“Anaconda-2.3.0-Windows-x86_64”。请告诉我该怎么做。

最佳答案

Spyder 做了一些奇怪的事情,它不在新进程中运行代码,因此它可以保留上次运行代码时的内容。坦率地说,我会觉得这非常烦人,所以我不使用 Spyder (这意味着这个答案可能并不完美,其他人可能应该发布另一个更好的解决方案!)

您需要做的是检查QApplication是否已存在,如果不存在则创建它。

if QApplication.instance():
    app = QApplication.instance()
else:
    app = QApplication(sys.argv)

...

app.exec_()

我认为您应该始终调用 app.exec_(),无论 QApplication 之前是否已创建。

就我个人而言,我从标准 Windows 命令行启动 python 文件,以便我始终知道它是全新的。

关于python - 为什么 PyQt 在我的 Anaconda (Spyder) 窗口标题栏中显示 "not responding"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33407618/

相关文章:

Python 使用自定义键对 2D 列表进行排序

python - conda 内存错误 : The conda process ran out of memory

python - 为什么 PyQt 的 pyuic 会忽略默认边距?

python - QToolButton 单击信号仅调用一次

Python - 与其他字符串一样的单词大写

python - Shapely 多边形与 Matplotlib 楔形的交集

multithreading - PyQt : How to deal with QThread?

python - 将隐藏数据插入组合框pyqt

python - PyQt4 : Window shows up at another position after hide() and show()

eclipse - Python3 PyQt4 创建一个简单的 QCheckBox 并更改 bool 变量