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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: динамическое создание QDockWidget  (Прочитано 5146 раз)
Hellenna
Гость
« : Декабря 06, 2005, 19:19 »

Задача: qt3.3.5 по нажатии на кнопку показывать, например, текст в док окне.
делала так:
Код:

void Window::button_press()
{
    QDockWindow* gl_dw = new QDockWindow( QDockWindow::InDock, this );
    gl_dw->setResizeEnabled( TRUE );
    gl_dw->setVerticalStretchable( TRUE );
    addDockWindow(gl_dw, Qt::DockTornOff);
    setDockEnabled( gl_dw, DockTop, FALSE );
    setDockEnabled( gl_dw, DockBottom, FALSE );
    gl_dw->setCloseMode( QDockWindow::Always );
   
    QLabel* tl=new QLabel(tr("Text"), gl_dw);
    gl_dw->setWidget(tl);
    tl->setMinimumSize(300, 500);
}


окно появляется, лейбла в нем нет Грустный
начала ставить эксперименты, оказалось, что если тот же код засунуть в конструктор или в функцию init() то все отрисовывается нормально - видим окно и текст в нем.
напрашивается вывод, что после конструктора вызывается какая-то функция которая инициализирует содержимое QDockWindow, только вот какая... подскажите, пожалуйста.
Записан
Sergeich
Гость
« Ответ #1 : Декабря 06, 2005, 19:42 »

Попробуй вставить tl->show() или gl_dw->updateGeometry()
Записан
Hellenna
Гость
« Ответ #2 : Декабря 07, 2005, 10:14 »

Цитата: "Sergeich"
Попробуй вставить tl->show() или gl_dw->updateGeometry()

спасибо. помогло именно tl->show() Улыбающийся
видимо, вчера вечером совсем перестала соображать от работы...
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #3 : Июня 19, 2011, 18:47 »

Добрый день. Тема конечно старая, но вопрос такой же. После создания виджета на dockWindow мне нужно вызывать show для каждого виджета?
Записан

Qt 5.11.0, Win, MinGW
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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