Название: WindowFlags для виджетов, содержащихся в QMdiArea Отправлено: qtshnik от Декабрь 03, 2010, 11:06 Добавляю в QMdiArea виджеты, при этом хочу, чтобы они не были стандартного типа (с флагом Qt::Window или Qt::SubWindow). Хотелось бы, чтобы они выглядели
как окно без заголовка, ну или хотя бы как окно с уменьшенным заголовком (как при использовании флага Qt::Tool). Проблема в том, что не получается применить ни флаг Qt::CustomizeWindowHint, ни флаг Qt::Tool. Я пробовал и в конструктор виджета их передавать, и в функцию setWindowFlags, а общий вид окна все равно не меняется. Такое впечатление, что при создании виджета в рамках QMdiArea в него жестко вшивается флаг Qt::SubWindow, и его нельзя поменять. Хотя в Assistant в описании класса QMdiArea написано Цитировать Unlike the window managers for top-level windows, all window flags (Qt::WindowFlags) are supported by QMdiArea as long as the flags are supported by the current widget style В чем дело, как все-таки изменить внешний вид окон? Название: Re: WindowFlags для виджетов, содержащихся в QMdiArea Отправлено: GreatSnake от Декабрь 03, 2010, 11:10 Цитировать В чем дело, как все-таки изменить внешний вид окон? Никак. Qt MDI создан не для этого.Название: Re: WindowFlags для виджетов, содержащихся в QMdiArea Отправлено: qtshnik от Декабрь 06, 2010, 11:37 Решение вот.
Код: child = new MyWidget( ... ); Работает флаг Qt::FramelessWindowHint, хотя про него в документации сказано Цитировать There are also a number of flags which you can use to customize the appearance of top-level windows. These have no effect on other windows а окно QMdiSubWindow, по логике вещей, не должно являться "top-level window"Название: Re: WindowFlags для виджетов, содержащихся в QMdiArea Отправлено: GreatSnake от Декабрь 06, 2010, 13:07 Просто интересно, а для чего такие окна могут вообще понадобиться?
Название: Re: WindowFlags для виджетов, содержащихся в QMdiArea Отправлено: qtshnik от Декабрь 06, 2010, 14:57 есть мысля загнать в заголовок каждого подокна панель инструментов с кнопками, а может и еше чего. Насколько смог понять, единственный способ это сделать - создать свою строку заголовка
Название: Re: WindowFlags для виджетов, содержащихся в QMdiArea Отправлено: GreatSnake от Декабрь 06, 2010, 15:51 Тогда придётся самому заморачиваться с move/resize...
|