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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Убрать "Закрыть окно" и действия с заголовка  (Прочитано 13094 раз)
Danila_Bagrofff
Гость
« : Апрель 21, 2009, 13:03 »

Есть диаложка, на которой по умолчанию размещается на title вверху справа кнопка "Закрыть окно" (крестик). Так вот. Надо оставить голый title.

Нашел как заменить его. Но как убрать и другое???

Что-то не получается...

Код:
MyDialog::MyDialog(QWidget *parent)
{
    setWindowFlags(Qt::WindowMinimizeButtonHint);
}

И как убрать возможность каких-либо стандартных действий с окном?
« Последнее редактирование: Апрель 21, 2009, 13:23 от Danila_Bagrofff » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Апрель 21, 2009, 13:04 »

QTDIR\examples\widgets\windowflags\
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Danila_Bagrofff
Гость
« Ответ #2 : Апрель 21, 2009, 13:14 »

ага, нашел =)

Код:
setWindowFlags(Qt::WindowMinimizeButtonHint | Qt::Dialog);
Записан
Danila_Bagrofff
Гость
« Ответ #3 : Апрель 21, 2009, 13:22 »

А как убрать возможность каких-либо стандартных действий с заголовком окна?
Записан
Rcus
Гость
« Ответ #4 : Апрель 21, 2009, 14:34 »

Что значит каких-либо? Ну есть один 100% работающий способ - отключить заголовок Улыбающийся
Записан
Danila_Bagrofff
Гость
« Ответ #5 : Апрель 21, 2009, 14:54 »

Тема также здесь: http://www.forum.crossplatform.ru/index.php?showtopic=2628

Что значит каких-либо? Ну есть один 100% работающий способ - отключить заголовок Улыбающийся

Это не вариант. Точнее уже пройденный этап. Хочется именно стандартное обломить.
Есть события иксов в линуксе. Но как использовать это:
Цитировать
x11Event ( XEvent * ) : bool
я не знаю.
Записан
Rcus
Гость
« Ответ #6 : Апрель 21, 2009, 15:03 »

Ну этот вопрос уже несколько раз поднимали, и насчет иконки, и насчет размеров...

А мне вот пофиг на то что хочет приложение, я вот kwin'ом ставлю плеер наверх, включаю opacity 75% и отключаю декорацию. И то приложение которое не захочет подчиняться wm'у подлежит удалению Улыбающийся
Записан
Danila_Bagrofff
Гость
« Ответ #7 : Апрель 21, 2009, 15:08 »

а никогда не пытался событие иксам просто отрубить?

может, было бы намного проще?....
Записан
SABROG
Гость
« Ответ #8 : Апрель 21, 2009, 15:16 »

Код
C++ (Qt)
   QDialog dlg(this, Qt::CustomizeWindowHint | Qt::WindowTitleHint);
 



Хочу напомнить, что использование setWindowFlags() может не дать результатов в отличае от передачи флагов в конструкторе QWidget'a.
Записан
Danila_Bagrofff
Гость
« Ответ #9 : Апрель 21, 2009, 15:28 »

Код
C++ (Qt)
   QDialog dlg(this, Qt::CustomizeWindowHint | Qt::WindowTitleHint);
 



Хочу напомнить, что использование setWindowFlags() может не дать результатов в отличае от передачи флагов в конструкторе QWidget'a.

с этим проблем нет. Это все сделал.

А вот стандартный вызов действий иксов, При нажатии на правую клавишу, убить не получается. КАк и действие при нажатии на иконку.
Записан
Rcus
Гость
« Ответ #10 : Апрель 21, 2009, 15:34 »

В этом вся суть иксов. Декорация окна принадлежит не клиентскому приложению, а WM'у. Приложение может попросить wm убрать декорацию или изменить какие-то вещи, а wm может проигнорировать это. Даже отключение декораций (например Audacious) не всегда работает, контекстное меню kwin'а вызывается нормально и там можно включить декорацию обратно.
Записан
Danila_Bagrofff
Гость
« Ответ #11 : Апрель 21, 2009, 15:47 »

а поподробнее можно? примеры какие-нить?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #12 : Апрель 21, 2009, 16:06 »

>>И то приложение которое не захочет подчиняться wm'у подлежит удалению
солидарен.
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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