В PyQt5, и я верю задним числом, по крайней мере, до 4, если QMessageBox инициализирован с MainWindow в качестве родителя, он заблокирует любой вход в MainWindow до тех пор, пока MessageBox не будет принят, закрыт и т. Д. ...PyQt5 получить QErrorMessage для блокировки Mainwindow
Однако, если вы инициализировать QErrorMessage используя MainWindow в качестве родителя такое поведение не происходит. Есть ли способ передать какой-то параметр окна в QErrorMessage таким образом, чтобы он блокировал родительское окно до его закрытия?
n.b. Я понимаю, что могу заставить QMessageBox вести себя и выглядеть как QErrorMessage. Я просто хотел бы знать, возможно ли описанное выше поведение.
, как QMessageBox наследует QDialog, вы можете попытаться установить 'setModal (True) 'иметь ожидаемое поведение. Вы также можете попробовать запустить 'QErrorMessage' с' .exec _() '. Оба должны работать в вашем случае. – SyedElec
@SyedElec я использовал '.exec _()', поэтому я был удивлен. – Grr
Вы пытались заставить модальность диалога с помощью 'setModal (True)'? 'exec _()' должен делать трюк, если вы не изменили модальность диалога, используя 'setWindowModality()'. Можете ли вы показать простой пример? – SyedElec