python - 如何重新启动 QApplication

标签 python pyqt restart qapplication

单击按钮时我需要重新启动应用程序,但我遇到了一些问题。我尝试过两种方法:

  1. 尝试过 this suggestion它确实重新启动了应用程序,但是每个小部件都出现 Gtk_IS_INVISIBLE (widget) 错误,并且所有这些小部件在重新启动的应用程序中看起来都不同,具有非常“旧”的外观(类似于 TkInter 小部件) )。有没有办法解决这个错误?除此之外,该应用程序运行良好。

  2. 我也尝试过:

    subprocess.Popen("/home/pi/pywork/pyqt/of2.py")
    sys.exit(0)
    

    as suggested here ,但出现以下错误:OSError: [Errno 13] Permission returned。有没有办法覆盖这个被拒绝的权限?

它们似乎都不能正常工作。有办法修复其中的任何一个吗?您知道重新启动应用程序的替代方法吗?

最佳答案

您可以使用QProcess.startDetached :

QProcess.startDetached("/home/pi/pywork/pyqt/of2.py")
sys.exit(0)

您还必须正确添加 shebang到你的Python脚本:

#!/usr/bin/env python

关于python - 如何重新启动 QApplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36106058/

相关文章:

python - 用于 Qt 4.7.4 的 PyQt 设置

php - Apache 优雅重启 - 是否影响当前 PHP 脚本执行

python - 有没有办法更快地运行 OpenCV 的 SIFT?

python - 通过 Python 从 .ui 文件处理 Pyside Qt 小部件的正确方法

Python + opencv :ValueError: setting an array element with a sequence

python - 如何从有序字典中选择最佳对?

python - 挂起当前函数直到对话框关闭

python - PyQT:QTableWidget.setItemPrototype 不起作用?

Erlang OTP 主管 gen_tcp - {error,eaddrinuse}

c# - 通过 WMI 问题从 ASP.NET 重新启动应用程序池