Название: Все MDI окна активны Отправлено: AlekseyK от Март 31, 2016, 15:22 Натолкнулся на странный баг. У меня есть несколько MDI окон в QMainWindow. В одном из них я перехватываю сигнал windowStateChanged() для того, чтобы показать/спрятать прикреплённый виджет (docking widget). Всё работает прекрасно. Однако, если я пытаюсь поместить одно из этих окон в док (не добавляя его при этом в mdiArea()),
Код
тогда все другие MDI окна становятся активными постоянно, и я не могу перехватить сигнал windowStateChanged. Преобразование этого MDI окна в простой QWidget также не помогает. В чём может быть причина? Баг Qt? Новая информация: myMDIWindow содержит tree widget и по двойному нажатию на нём эмитирует сигнал, подключённый к mdi окну, которое создало его (назовём его 1-е mdi окно). Этот сигнал подсоединён к слоту, который создаёт новое MDI окно, в зависимости от того, куда пользователь кликнет в списке tree widget. В этом случае все mdi окна становятся активными. Если же создать MDI окно нажатием кнопки в 1-м mdi окне - всё опять приходит в норму. Код создания mdi окна один и тот же в обоих случаях: Код
"this" -это main window. Может быть причина в том, что dock widget имеет фокус или что-то в этом роде во время создания mdi окна? Ещё: если отцепить окно с tree widget от дока - всё опять работает нормально. |