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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Mdi Area отказывается отображать новые окна (решено)  (Прочитано 2728 раз)
kdm
Гость
« : Ноябрь 11, 2010, 15:39 »

Проблемма в том, что имеется QMdiArea в некотором лейауте и я добавляю туда виджеты.
Дело в том, что когда я это делаю внутри конструктора родительской формы:
Код:
    mdiareaViewWindowsArea = new QMdiArea(this);
    spltViews->addWidget(mdiareaViewWindowsArea);
    mdiareaViewWindowsArea->addSubWindow(new QLabel("window", mdiareaViewWindowsArea));
то все проходит отлично, показывается маленькой окно с написью.

Но когда я добавляю виджет внутри слота родительской формы (по нажатию кнопки):
Код:
void PageClass :: pbtnAddViewWindow_clicked ()
{    
    ViewClass* view = new ViewClass(mdiareaViewWindowsArea);
    ViewWindowsList.append(view);

    //mdiareaViewWindowsArea->addSubWindow(view);
    //mdiareaViewWindowsArea->addSubWindow(new QMdiSubWindow(mdiareaViewWindowsArea));
    mdiareaViewWindowsArea->addSubWindow(new QLabel("zxczxczcx", mdiareaViewWindowsArea));

    qDebug() << "added";

    // slots
}
то никаких окно я не вижу, кроме того, чтобы было добавлено в конструкторе.

Пробовал на Qt 2009.03 и 2010.03.
« Последнее редактирование: Ноябрь 11, 2010, 16:02 от kdm » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Ноябрь 11, 2010, 15:47 »

Если создаешь QMdiSubWindow после того как QMainWindow уже отрисовалось, то нужно делать принудительно QMdiSubWindow::show().
Записан

Qt 5.11/4.8.7 (X11/Win)
kdm
Гость
« Ответ #2 : Ноябрь 11, 2010, 15:51 »

Фух, спасибо, а то еще бы долго мучался Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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