у нас есть QMainWindow, содержащий несколько QDialog, которые открываются с помощью exec () и, следовательно, являются модальными (что является желаемым поведением).
Теперь, когда у пользователя открыт один из этих диалоговых окон, он выбирает взаимодействие с какой-либо внешней программой (например, веб-браузером), которая перекрывает диалог, но не MainWindow, а затем пытается вернуться в нашу программу, он не может этого сделать, щелкнув видимая область главного окна из-за модального диалога. Чтобы вернуться, ему необходимо переместить / свернуть другие окна, препятствующие просмотру QDialog или активирующие его с помощью панели задач. Это может произвести впечатление зависшей программы (особенно если прошло какое-то время, а пользователь не знает об открытом диалоге).
Я перегружаю различные события фокуса / мыши в главном окне / диалоговых окнах, чтобы поднять () QDialog в таком случае, но я не смог найти, что он активируется при щелчке по главному окну при отображении диалогового окна. Кто-нибудь знает решение для этого? Я полагаю, это что-то легкое, что я, должно быть, упустил из виду.