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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Баг в QMdiArea (дочерние окна)?  (Прочитано 2329 раз)
arhiv6
Гость
« : Январь 24, 2015, 23:40 »

Всем привет. Понадобилось мне в программе использовать дочерние окна.
При добавлении нескольких окон активным остается последнее, а мне надо, например, первое. Стал искать, как это сделать. Логичной функции setCurrentSubWindow(QMdiSubWindow*) нет. Ладно, есть функция setActiveSubWindow(QMdiSubWindow*), вроде то что нужно, и даже работает:
Код:
QMdiArea *midArea = new QMdiArea(this);
setCentralWidget(midArea);

//midArea->setViewMode(QMdiArea::TabbedView);

QLabel *label1 = new QLabel("first");
QMdiSubWindow *sw1 = midArea->addSubWindow(label1);

QLabel *label2 = new QLabel("second");
QMdiSubWindow *sw2 = midArea->addSubWindow(label2);

midArea->setActiveSubWindow(sw1);
После выполнения кода будет активно первое окно.
НО! если теперь расскоментировать строчку  midArea->setViewMode(QMdiArea::TabbedView), от активным будет всё равно второе окно.
1) Это баг?
2) Как сделать активным окно при TabbedView виде?
« Последнее редактирование: Январь 25, 2015, 01:51 от arhiv6 » Записан
arhiv6
Гость
« Ответ #1 : Январь 28, 2015, 15:58 »

+ Ещё вопрос - если унаследовать класс QMdiArea, то как в наследнике реализовать сигнал currentChangedSubWindow, аналогичный сигналу currentChanged класса QTabWidget?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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