Qt QDialog и GNOME 3, как отобразить кнопку закрытия / строку заголовка и сделать ее подвижной?

В GNOME 3 при отображении любого QDialog кажется, что его нельзя переместить, и у него нет строки заголовка.

Есть ли способ снова включить строку заголовка и сделать ее подвижной? Вместо этого я попытался использовать QMainWindow в качестве обходного пути, но он появляется на панели задач и не отображается как «модальный» диалог.


person paulm    schedule 31.12.2011    source источник
comment
Обратите внимание, что модальность имеет смысл только в контексте окон. developer.qt.nokia.com/doc/qt- 4.8/qwidget.html#modal-prop   -  person tylerthemiler    schedule 01.01.2012
comment
Поведение модальных диалогов является особенностью Gnome 3. Вообще говоря, вам, вероятно, не следует пытаться возиться с поведением оконной системы по умолчанию. Также обратите внимание, что это поведение настраивается внутри самого Gnome3, поэтому, если вы оставите его в покое, пользователь все равно сможет выбрать, как он хочет, чтобы он вел себя.   -  person Chris    schedule 01.01.2012
comment
Спасибо @Chris, я думаю, я просто оставлю это, даже если мое приложение выглядит плохо :(   -  person paulm    schedule 01.01.2012


Ответы (2)


Возможно, это может вам помочь:

  1. Установите редактор конфигурации (dconf-editor)
  2. Откройте его: Alt+F2, введите dconf-editor, нажмите Enter.
  3. Перейдите по адресу: /org/gnome/shell/overrides и выберите attach_modal_dialogs.
  4. Установите для параметра Использовать значение по умолчанию значение ВЫКЛ.
  5. Измените Пользовательское значение на False.

введите здесь описание изображения

Введите r в приглашении Alt+F2, чтобы перезапустить оболочку Gnome и увидеть изменения (QDialogs должны стать подвижными).

person rdiachenko    schedule 12.02.2012

Когда у меня возникла эта проблема с диалоговым окном (по крайней мере, в части без строки заголовка), я исправил проблему, установив родительский элемент диалогового окна как nullptr, а не установив настоящий родительский элемент.

http://blog.pitonyak.org/node/18

Теперь, тем не менее, установка параметра конфигурации в gnome, вероятно, является лучшим решением, если оно работает (и я не проверял это). Моя единственная жалоба на это решение заключается в том, что на другом компьютере оно будет вести себя по-другому. Опять же, можно утверждать, что смысл наличия опции конфигурации в том, что владелец этой машины может решать.

person Andrew    schedule 07.11.2014