Мне нужно перезапустить приложение при нажатии кнопки, но у меня возникают некоторые проблемы с ним. Я попробовал два метода:Как перезапустить QApplication
this suggestion Пробовал и действительно перезапускает приложение, но я получаю ошибку
Gtk_IS_INVISIBLE (widget)
для каждого виджета, и все они выглядят по-разному в перезапущенном приложении, с очень «старым» посмотрите (аналогично виджетам TkInter). Есть ли способ решить эту ошибку? Кроме того, приложение работает отлично.Я также попытался:
subprocess.Popen("/home/pi/pywork/pyqt/of2.py") sys.exit(0)
as suggested here, но я получаю следующее сообщение об ошибке:
OSError: [Errno 13] Permission denied
. Есть ли способ отменить это отклоненное разрешение?
Ни один из них не работает должным образом. Есть ли способ исправить любой из них? Вы знаете альтернативный способ перезапуска приложения?
Просьба уточнить, что вы имеете в виду под «перезагрузки», потому что эти два примера вам дают очень разные. Вам действительно нужно создать полностью новый * процесс? Или вам просто нужно создать новый объект приложения и главное окно в текущем процессе? Или, может быть, все, что вам нужно сделать, это создать новое главное окно, но использовать один и тот же объект приложения? Какую актуальную проблему вы пытаетесь решить? – ekhumoro
Я хочу закрыть текущий процесс и начать новый. Я решил ошибки виджета в первом предложении, установив стиль в приложении, поэтому, поставив 'setStyle (« GTK + »)', ошибки виджетов исчезли. –