Я пишу некоторые тестовые функции для формы, которую я сделал. Есть несколько QMessageBox, которые вызывают (один через метод QMessageBox.question и один через метод QMessageBox.information. Хотя мой пользовательский виджет не отображается на экране, эти два фактически отображаются на экране.Сохранение диалога с отображением PySide для тестирования
Я попробовал уволить их с помощью цикла через виджеты я получаю в QApplication.topLevelWidgets() и отклоняя правильный, однако, кажется, что мой код только продолжает выполняться после того, как я вручную закрыть MessageBox
Так что мой вопрос два раза:.
1) Как я могу заставить QMessageBox (или любой виджет действительно) отображаться на экране во время тестирования.
2) Как я могу программно принять/отклонить/отклонить этот виджет.
Диалог запускает локальный цикл событий (если модальный, типичная настройка), поэтому, хотя есть слот приема, который вы могли бы вызвать, вы не можете вызвать его из основного приложения. – mdurant
@mdurant Ну ... Я могу что-то сделать? –