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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Убрать кнопку "свернуть" в QDialog  (Прочитано 12505 раз)
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« : Июнь 08, 2012, 11:54 »

Помогите плиз убрать кнопку "свернуть" с формы диалогового окна! Перепробовал уже кучу способов максимум, что получилось это по нажатию на кнопку свернуть, оно перерисовывается, но не сворачивается.. как ее вообще убрать с окна??! должна быть только кнопка "закрыть"! Дело под Linux!

Так по нажатию на "свернуть" форма перерисовывается, но не сворачивается!!!
Код:
QDialog d (this);
d.setWindowFlags (Qt::WindowType_Mask | Qt::WindowCloseButtonHint);

Пробовал так, тоже не работает.. Грустный
Код:
QDialog d (this);
d.setWindowFlags (d.windowFlags() & ~Qt::WindowMinimizeButtonHint);
Записан
Serr500
Гость
« Ответ #1 : Июнь 08, 2012, 12:02 »

Посмотрите пример examples/widgets/windowflags. Там можно понаставить галок в чекбоксах и выбрать вид, который нужен.

P.S. Сейчас под виндой и не уверен, что под линухом набор флагов будет таким же.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Июнь 08, 2012, 12:10 »

Дело под Linux!
А вот это ни о чём не говорит.
Какой WindowManager, окружение?
Записан

Qt 5.11/4.8.7 (X11/Win)
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« Ответ #3 : Июнь 08, 2012, 12:18 »

Дело под Linux!
А вот это ни о чём не говорит.

Кстати, да)
Linux OpenSuse 11.4(i586) KDE 4.6.00 (4.6.0) "release 6"
Записан
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« Ответ #4 : Июнь 08, 2012, 12:29 »

Посмотрите пример examples/widgets/windowflags. Там можно понаставить галок в чекбоксах и выбрать вид, который нужен.

P.S. Сейчас под виндой и не уверен, что под линухом набор флагов будет таким же.

Глянул этот пример.. для формы нужного мне вида, там достаточно 2х флагов Qt::X11BypassWindowManagerHint и
Qt::WindowCloseButtonHint, но с ними у меня диалог вообще не открывется.. Другие комбинации тоже пока ни к чему не привели.. ((
Записан
Serr500
Гость
« Ответ #5 : Июнь 08, 2012, 13:03 »

Флаг Qt::Dialog не забыли?
Записан
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« Ответ #6 : Июнь 08, 2012, 14:06 »

Флаг Qt::Dialog не забыли?

забыл.. но его добавление в сущности ничего не поменяло! в том примере с чекбоксами достаточно вообще Qt::Dialog и Qt::WindowCloseButtonHint и будет красивая форма с одной только кнопкой "закрыть".. здесь же все равно остается кнопка "свернуть"! может действительно в настройках линуха надо что-то менять..
Записан
vizir1989
Гость
« Ответ #7 : Июнь 08, 2012, 14:40 »

попробуй так создать диалог
Код:
Qt::WindowFlags flags = Qt::Window | Qt::WindowMaximizeButtonHint
| Qt::WindowCloseButtonHint
QDialog(this, flag)
Записан
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« Ответ #8 : Июнь 08, 2012, 14:53 »

попробуй так создать диалог
Код:
Qt::WindowFlags flags = Qt::Window | Qt::WindowMaximizeButtonHint
| Qt::WindowCloseButtonHint
QDialog(this, flag)

кнопка все равно создается, но окно не сворачивается, а перерисовывается.. так же как и с
Код:
QDialog d (this);
d.setWindowFlags (Qt::WindowType_Mask | Qt::WindowCloseButtonHint);
Записан
vizir1989
Гость
« Ответ #9 : Июнь 08, 2012, 15:22 »

попробуй так создать диалог
Код:
Qt::WindowFlags flags = Qt::Window | Qt::WindowMaximizeButtonHint
| Qt::WindowCloseButtonHint
QDialog(this, flag)

кнопка все равно создается, но окно не сворачивается, а перерисовывается.. так же как и с
Код:
QDialog d (this);
d.setWindowFlags (Qt::WindowType_Mask | Qt::WindowCloseButtonHint);


странно, у меня Fedora 14, диалог без кнопки сворачивания появляется
Записан
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« Ответ #10 : Июнь 08, 2012, 22:44 »

ну а на suse не хочет, к сожалению.. еще мысли будут, в чем может быть дело?!
Записан
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« Ответ #11 : Июнь 21, 2012, 12:26 »

Помогли флаги Qt::Drawer | Qt::WindowCloseButtonHint - остается одна кнопка "закрыть"! Но при этом окно становится не модальным, как добиться модальности окна при флаге Qt::Drawer???!
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4732



Просмотр профиля WWW
« Ответ #12 : Июнь 21, 2012, 13:31 »

Qt::Drawer же только для мак ос вроде. а модальность можно задать через setWindowModality()
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« Ответ #13 : Июнь 21, 2012, 14:22 »

да.. под мак ос, но других способов убрать кнопку под Linux OpenSuSE 11.4 я не нашел! Получается нужное диалоговое окно, вот только ни разу не модальное) с Qt::Dialog кнопка ну никак не убирается, но с модальностью проблем нет) вот такая засада..
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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