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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: tabbed docked area  (Прочитано 9427 раз)
EhTemka
Гость
« Ответ #15 : Декабрь 26, 2008, 18:52 »

visibilityChanged() вроде бы нет в 4 кутях. По крайней мере в 4.2.3. Да и не уверен что этот сигнал сработает в данном случаи. ТАк как не происходит изменения visibility.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #16 : Декабрь 26, 2008, 19:13 »

2 EhTemka, в 4.2.х нету.
из Асистента.
void QDockWidget::visibilityChanged ( bool visible )   [signal]
Эта функция была введена в Qt 4.3.

но сработает в 4.3.х, см. тут
Записан

Юра.
SABROG
Гость
« Ответ #17 : Декабрь 26, 2008, 23:43 »

В 4.4 сигнал работает. В общем еще одно решение как узнать видимый ли докбар в данный момент.

Код
C++ (Qt)
DockWidgets::DockWidgets(QWidget *parent)
   : QMainWindow(parent)
{
ui.setupUi(this);
QList <QDockWidget *> lst = findChildren<QDockWidget *>();
foreach(QDockWidget *widget, lst)
{
   connect(widget, SIGNAL(visibilityChanged(bool)), SLOT(slotVisibilityChanged(bool)));
}
}
void DockWidgets::slotVisibilityChanged(bool visible)
{
   QObject *sndr = sender();
   if (sndr)
   {
       sndr->setProperty("dockIsVisible", visible);
   }
}
 

Соответственно проверять методом dockWidget->property("dockIsVisible"). Возвратит true или false.
Записан
EhTemka
Гость
« Ответ #18 : Декабрь 27, 2008, 10:52 »

SABROG, а могли бы вы запостить тролям об данной проблеме, чтобы они придумали какое-нибуть стандартное (к примеру в виде функций(синалов/слотов) у QMainWindow или QDockWidget) решение? Просто я, во первых, ни когда этого не делал, во вторых, вы, мне кажется, более четко представляете что нам нужно Улыбающийся
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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