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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Управление окнами  (Прочитано 3154 раз)
like-nix
Гость
« : Февраль 11, 2011, 19:38 »

Подскажите пожалуйста какие компоненты использовать.

Допустим у нас есть главное окно, нужно сделать чтобы например по нажатию на кнопку создавалось еще одно окно, но чтобы оно не блокировало главное окно. Хочу получить поведение похожее на то когда в любом web браузере нажимаем new window, но в тоже время, когда закрываем главное окно остальные окна тоже должны закрываться.
Записан
like-nix
Гость
« Ответ #1 : Февраль 11, 2011, 19:41 »

MDIArea не подходит наверное, потому как окна там только в пределах ареа =), а мне нужно чтобы окна были независимые чтобы одно можно было бы свернуть в трей а остальные остались на своих местах.
Записан
like-nix
Гость
« Ответ #2 : Февраль 11, 2011, 19:44 »

Конечно заказчику хочется по возможности чтобы эти окна как например в гугл хром могли быть получены из табов и при желании обратно приклеены как табы к какому нибудь окну этой программы, но это уже какбы фичи, которые хорошое если будут т.е. не обязательные.
Записан
santaclaus
Гость
« Ответ #3 : Февраль 11, 2011, 22:19 »

Создай свой класс унаследованный от QWidget, сделай форму какую хочешь, потом при нажатии кнопочке в главной форме "Новое окошко" делай примерно так:

Код:
MyForm *mf = new MyForm();// создаешь новую форму
connect(this, SIGNAL(destoyed()), mf, SLOT(close ()));// привязываешь сигнал что если главное окно закрывается, то форма закрывается вместе с ним
mf->show()// ну и показываем новую форму
Записан
like-nix
Гость
« Ответ #4 : Февраль 11, 2011, 22:20 »

Сделал лист окон в главном окне и при закрытии главного окна окна из этого листа закрываю.
Записан
like-nix
Гость
« Ответ #5 : Февраль 11, 2011, 22:24 »

santaclaus тоже вариант =)
Записан
like-nix
Гость
« Ответ #6 : Февраль 12, 2011, 17:47 »

Подскажите можно ли DockWidget создать как отдельное окно не привязанное к главному окну?
Записан
kdm
Гость
« Ответ #7 : Февраль 12, 2011, 21:40 »

Я не пробовал, но что-то подсказывает, что можно при перетаскивании зависимого окна смотреть, если оно находится в определенной области, то просто зависимое окно прятать и добавлять виджет зависимого окна в QTabWidget.
То есть примерно так:

если позиция зависимого окна изменяется, то смотреть если его левая часть его заголовка рядом с кнопками (которые означают закладки) QTabWidget, то зависимоеокно.hide, tabwidget.addwidget(зависимоеокно), ну и что-то такое. И наоборот смотреть если пользователь драгает закладку, то отделять ее из tabwidget и зависимоеокно.show(). Все это не выполняя уничтожение виджета зависимого окна.

Сам не пробовал, просто прочитал и такая идея пришла. Не пинайте если бред.  В замешательстве
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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