Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Можно ли скрыть (или деактивировать) кнопку "Свернуть" в заголовке?
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
hoRUS
Хочу избавиться от кнопки "Свернуть" в заголовке окна (или деактивировать её) у непосредственного потомка QWidget. Есть ли надёжный способ сделать это в Linux (желательно, чтоб это не зависело от оконного менеджера и не пришлось лезть в исходники)? Мои свистопляски с setWindowFlags() ни к чему не привели.
Пробовал
setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint  | Qt::WindowMaximizeButtonHint);
setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowMaximizeButtonHint);

и множество других комбинаций. Но либо скрывается вся рамка, либо остается только "Закрыть", либо остаются все кнопки сразу.
Может, есть системная функция какая (в Linux'е недавно). Хотя бы своя для каждого оконного менеджера.
А то сейчас идея только убрать нафиг рамку и нарисовать тулбар вручную с нужными кнопками.
Спасибо
Litkevich Yuriy
по поводу флажков:
Цитата
enum Qt::WindowType
flags Qt::WindowFlags
Данное перечисление используется для установления различных свойств оконной системы для виджета. Они довольно необычны, но необходимы в некоторых случаях. Некоторые из этих флагов зависят от того, поддерживает ли их основной оконный мененджер.
...
Есть также несколько флагов, которые вы можете использовать, чтобы настроить вид окна верхнего уровня. Они не воздействуют на другие окна:
...
Qt::WindowMinimizeButtonHint
...


проверь в Линухе работу примера: PATH_TO_EXAMPLES/widgets/windowflags
может, что-то прояснится
hoRUS
Litkevich Yuriy, точно! Забыл про этот пример!


ДОБАВЛЕНО:
Ubuntu 8.04 (основное) либо показывает все три кнопки, либо вообще не показывает рамку (gnome). SuSe 10.2 криво но работает. В KDE лучше, чем в gnome (может, из-за того, что Qt?). В KDE криво (но при некоторых условиях можно добиться), gnome - можно по крайнй мере оставит одну "закрыть"
Litkevich Yuriy
все сильно зависит от оконного менеджера!
Это ты еще во всяких Виндоумыэкерах не пробывал, там вообще чудеса могут быть
hoRUS
А там (в Линуксе или оконных менеджерах) нет никакого API (сам в Линуксе недавно :) )?
Litkevich Yuriy
у каждого оконного менеджера он свой, у Гнома свой, у КДЕ свой и т.д.
kuler
как убрать крестик (чтоб вообще кнопок не было, но был заголовок)
Litkevich Yuriy
Цитата(kuler @ 8.10.2008, 19:56) *
как убрать крестик
в смысле кнопка закрытия окна? Если да то поидее флажки должны работать, ща гляну какие
kuler
да

и как уж виджет (окно) показать посередке парента?
Litkevich Yuriy
См. пример: %QTDIR%\examples\widgets\windowflags

Цитата(kuler @ 8.10.2008, 20:05) *
показать посередке парента?
Любое окно в Qt показвается по середине родителя, если таковой есть (см. тот же пример)
kuler
не центрируется почемуто, а про крестик не глянули? в примере с windows flags нет такого, да и по справке особо не углядел
Litkevich Yuriy
Цитата(kuler @ 8.10.2008, 19:56) *
чтоб вообще кнопок не было
есть такое тыкай по одной галочке.

Цитата(kuler @ 8.10.2008, 20:51) *
не центрируется почемуто
на виндовозе этот пример всегда запускается так что дочернее окно по центру родительского. Если тебе надо чтоб при каждом появлении дочернего оно было по центру родительского, т.е. даже когда пользователь передвигал дочернее. Тоже можно, но надо в Асистент глянуть.
kuler
виджету передаю парента - не центрируется, у qdialoga - да, а у виджета нет
Litkevich Yuriy
Цитата(kuler @ 9.10.2008, 13:45) *
у qdialoga - да, а у виджета нет
тогда, наверно, руками. Мне не приходилось разбиратся с этим вопросом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.