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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Исчезающий DockWidget  (Прочитано 2321 раз)
White Owl
Гость
« : Июнь 22, 2011, 22:36 »

Есть главное окно и в нем стандартный QDockWidget.
Делаем в главном окне QAction actionShow_Dock.
Делаем две привязки (не выходя из дизайнера) которые трансформируются в:
Код:
        QObject::connect(actionShow_Dock, SIGNAL(toggled(bool)), dockWidget, SLOT(setVisible(bool)));
        QObject::connect(dockWidget, SIGNAL(visibilityChanged(bool)), actionShow_Dock, SLOT(setChecked(bool)));
Все работает замечательно. Теперь и actionShow_Dock показывает галочку если док-окно видно и снимается галочка когда док-окно крестиком закрываем. В общем, все чудесно....
Кроме одного:  Когда главное окно минимизируется, док-окно становится невидимым, галочка снимается. Когда главное окно разворачивается обратно - галочка не восстанавливается и док-окно остается невидимым.
Спрашивается, что я делаю не правильно?

Qt 4.7.2
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Июнь 23, 2011, 10:41 »

убери рекурсию между виджетами.
Записан

Юра.
White Owl
Гость
« Ответ #2 : Июнь 23, 2011, 19:05 »

А без рекурсии не получается такой симпатичной взаимозависимости видимости окна и галочки на action.
Кстати, точно такая-же рекурсия, но на тулбаре подобноц проблемы не создает.
Записан
White Owl
Гость
« Ответ #3 : Июнь 28, 2011, 00:04 »

А вот еще один глюк:
Если взять одно из док-окон и положить его на другое (флаг AllowTabbedDocks установлен), то одно из окон исчезает вообще. Чтобы его снова достать надо утащить в другое место то которое видно, и затребовать отрисоваться пропавшее окно....
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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