crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Можно ли скрыть (или деактивировать) кнопку "Свернуть" в заголовке?, Оставив обязательно кнопку "Максимизировать"
hoRUS
  опции профиля:
сообщение 13.7.2008, 19:44
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 30
Регистрация: 10.7.2008
Из: Москва
Пользователь №: 231

Спасибо сказали: 5 раз(а)




Репутация:   0  


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

и множество других комбинаций. Но либо скрывается вся рамка, либо остается только "Закрыть", либо остаются все кнопки сразу.
Может, есть системная функция какая (в Linux'е недавно). Хотя бы своя для каждого оконного менеджера.
А то сейчас идея только убрать нафиг рамку и нарисовать тулбар вручную с нужными кнопками.
Спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.7.2008, 17:36
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


по поводу флажков:
Цитата
enum Qt::WindowType
flags Qt::WindowFlags
Данное перечисление используется для установления различных свойств оконной системы для виджета. Они довольно необычны, но необходимы в некоторых случаях. Некоторые из этих флагов зависят от того, поддерживает ли их основной оконный мененджер.
...
Есть также несколько флагов, которые вы можете использовать, чтобы настроить вид окна верхнего уровня. Они не воздействуют на другие окна:
...
Qt::WindowMinimizeButtonHint
...


проверь в Линухе работу примера: PATH_TO_EXAMPLES/widgets/windowflags
может, что-то прояснится
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
hoRUS
  опции профиля:
сообщение 16.7.2008, 10:45
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 30
Регистрация: 10.7.2008
Из: Москва
Пользователь №: 231

Спасибо сказали: 5 раз(а)




Репутация:   0  


Litkevich Yuriy, точно! Забыл про этот пример!


ДОБАВЛЕНО:
Ubuntu 8.04 (основное) либо показывает все три кнопки, либо вообще не показывает рамку (gnome). SuSe 10.2 криво но работает. В KDE лучше, чем в gnome (может, из-за того, что Qt?). В KDE криво (но при некоторых условиях можно добиться), gnome - можно по крайнй мере оставит одну "закрыть"

Сообщение отредактировал hoRUS - 16.7.2008, 11:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 13:10
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


все сильно зависит от оконного менеджера!
Это ты еще во всяких Виндоумыэкерах не пробывал, там вообще чудеса могут быть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
hoRUS
  опции профиля:
сообщение 17.7.2008, 9:28
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 30
Регистрация: 10.7.2008
Из: Москва
Пользователь №: 231

Спасибо сказали: 5 раз(а)




Репутация:   0  


А там (в Линуксе или оконных менеджерах) нет никакого API (сам в Линуксе недавно :) )?

Сообщение отредактировал hoRUS - 17.7.2008, 9:29
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.7.2008, 10:03
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


у каждого оконного менеджера он свой, у Гнома свой, у КДЕ свой и т.д.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 8.10.2008, 15:56
Сообщение #7


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


как убрать крестик (чтоб вообще кнопок не было, но был заголовок)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.10.2008, 16:00
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kuler @ 8.10.2008, 19:56) *
как убрать крестик
в смысле кнопка закрытия окна? Если да то поидее флажки должны работать, ща гляну какие
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 8.10.2008, 16:05
Сообщение #9


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


да

и как уж виджет (окно) показать посередке парента?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.10.2008, 16:08
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


См. пример: %QTDIR%\examples\widgets\windowflags

Цитата(kuler @ 8.10.2008, 20:05) *
показать посередке парента?
Любое окно в Qt показвается по середине родителя, если таковой есть (см. тот же пример)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 14.10.2019, 6:22