Russian Qt Forum
Октябрь 01, 2024, 02:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMdiArea. Веселые дочерние окна  (Прочитано 9230 раз)
voronElf
Гость
« : Февраль 12, 2010, 08:26 »

Всем привет.

У меня на QMainWindow лежит QMdiArea, в которой создаются дочерние окошки (QMdiSubWindow). 3 вида дочерних окошек (класс наследован от QWidget со своими виджетами, оборачивается в QMdiSubWindow). Функция добавления в QMdiArea общая для всех (принимает адрес виджета, возвращает адрес QMdiSubWindow).

Заметил интересную особенность: открыто дочернее окошко (одно или несколько 1 или 2-го вида), открываешь окошко 3-го вида - активными становятся оба. Т.е. можно щелкнуть по первому окошку (заголовки выглядят так, как будто оба являются активными) и таскать его - таскается, но на первый план не отрисовывается. Другими словами весь функционал есть, только окошко третьего вида не скрывается, висит поверх остальных дочерних окошек. Если после этого открыть еще какое-то окошко дочернее - все нормально становится.

У кого найдутся мысли по этому поводу ? голову уже сломал от такого веселья ...
Записан
sne
Гость
« Ответ #1 : Февраль 12, 2010, 22:49 »

Тоже подобное поведение замечал, причем setActiveWindow, или как-то там, на память пишу, не помогал.
Кроме того, у меня на QMainWindow были еще и DOckWidgets на котором QComboBox, так вот если поиграться с ComboBox, фокус на QMdiSubWindow и их активация вообще не поддавались никакой логике.
Так и не решил, оставил как есть Грустный
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Февраль 13, 2010, 01:40 »

два сообщения о странном поведении. Это повод выложить тестовый исходник для проверки
Записан

Юра.
zloyGamer
Гость
« Ответ #3 : Февраль 16, 2010, 10:51 »

да, выложите плиз, мне кокраз это и надо реализовать, - чтобы одно дочернее окно было всегда поверх других дочерних, буду оч. благодарен ))
Записан
voronElf
Гость
« Ответ #4 : Февраль 16, 2010, 11:40 »

надеюсь седня найдется время в коде оставить только то что к окнам относится (там 4 модуля по ~ 1500 строк, многовато будет для топика)
Записан
zloyGamer
Гость
« Ответ #5 : Февраль 16, 2010, 11:43 »

так запакуй и архивом выложЫ, я на досуге думаю разберусь,
заодно и тебе покажу нужный мне участок кода и ты будешь знать что тебе поправить ))
Записан
voronElf
Гость
« Ответ #6 : Февраль 16, 2010, 11:58 »

за это меня директор порепает, у него коммерческая тайна видите ли, так бы давно бы выложил

не себе прогу пишу
Записан
yfdrnchk
Гость
« Ответ #7 : Март 15, 2010, 13:05 »

два сообщения о странном поведении. Это повод выложить тестовый исходник для проверки

хм. у меня тоже вылазит странное поведение. портирую с qt3 на qt4, переписал часть кода, касайщуюся дочерних окон.
- при открытии файла slot повешенный на сигнал subWindowActivated срабатывает,
при создании нового файла - нет (поведение схоже на описанное в первом посте для окон 3го вида).
вроде всё как в примере к Qt.

может кто кинет ссылкой на что-нибудь типа толкового примера c QMdiArea c пояснениями?
возможно я что-то недопонял со слотами и сигналами.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.148 секунд. Запросов: 23.