Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: lex_newton от Август 13, 2009, 08:27



Название: QMdiSubWindow и кнопка закрытия
Отправлено: lex_newton от Август 13, 2009, 08:27
Собственно, вопрос, можно ли штатными методами кути сделать нечто подобное для каждой вкладки QMdiArea(QT 4.4.3)?
(кнопка закрытия вкладки)
(http://cyber.sibsutis.ru/newton/sample1.png)
В голову приходит только paintEvent + mousePressEvent...


Название: Re: QMdiSubWindow и кнопка закрытия
Отправлено: UVV от Август 13, 2009, 09:30
А обновиться до 4.5 и setDocumentMode(true) не?
И собственно почему QMdiArea, а не QTabWidget?


Название: Re: QMdiSubWindow и кнопка закрытия
Отправлено: lex_newton от Август 13, 2009, 10:02
Цитировать
А обновиться до 4.5 и setDocumentMode(true) не?
Хм. а там уже это есть? круто ;) Обновить пока нельзя. попозже - можно будет.

Цитировать
И собственно почему QMdiArea, а не QTabWidget?
Потому, что tabWidget не умеет себя вести как QMdiArea. к примеру, "Restore", "Cascade", "Tile". А это принципиально.


Название: Re: QMdiSubWindow и кнопка закрытия
Отправлено: UVV от Август 13, 2009, 10:29
А если использовать QTabWidget для вкладок, а QMdiArea - для окон? Или я велосипед изобретаю?


Название: Re: QMdiSubWindow и кнопка закрытия
Отправлено: spectre71 от Август 13, 2009, 11:12
А если использовать QTabWidget для вкладок, а QMdiArea - для окон? Или я велосипед изобретаю?
QTabWidget точно не подойдет, скорее QTabBar.


Название: Re: QMdiSubWindow и кнопка закрытия
Отправлено: UVV от Август 13, 2009, 11:58
QTabWidget точно не подойдет, скорее QTabBar.

Скорее их комбинация ;)
Я это и имел ввиду ))


Название: Re: QMdiSubWindow и кнопка закрытия
Отправлено: lex_newton от Август 13, 2009, 12:41
Нет уж ;) если очень сильно приспичит, лучше paintEvent и mouseEvent заюзаю. Проще будет ;)


Название: Re: QMdiSubWindow и кнопка закрытия
Отправлено: UVV от Август 17, 2009, 06:14
Да, я был не прав. setDocumentMode(true) просто делает табы, кнопки закрытия не появляется.
У меня сейчас похожая ситуация, я в качестве решения сделал свой класс на основе QTabWidget и QTabBar.
И вынес в настройки приложения соответствующий параметр.


Название: Re: QMdiSubWindow и кнопка закрытия
Отправлено: ramin от Август 10, 2010, 08:12
 Q_FOREACH (QTabBar* tab, mdiArea->findChildren<QTabBar*>())
            {


            }