Возможно ли в GTK+3.0 убрать кнопку закрытия из главного окна (самого первого созданного окна). Я использовал gtk_window_set_deletable(GTK_WINDOW(wmain), FALSE) перед вызовом gtk_window_show(wmain), но это не сработало. Что нужно исправить?

c gtk
1
madD7 12 Дек 2014 в 13:29
1
Какую систему (оконный менеджер, рабочий стол и т. д.) вы используете? Несмотря на то, что вы вызываете gtk_widget_show() после gtk_window_set_deletable(), документация по-прежнему говорит, что нет никакой гарантии, что это действительно сработает (только то, что это увеличивает шансы, что это сработает)... С другой стороны, это может быть ошибкой в ​​вашем оконном менеджере или в GTK+.
 – 
andlabs
12 Дек 2014 в 14:59
Я использую raspbian от raspberry pi, а также пробовал его на ubuntu. Но в обоих случаях в окне появляется кнопка закрытия.
 – 
madD7
13 Дек 2014 в 13:54

2 ответа

Вы можете легко сделать это в Glade. Просто выберите свое окно и отключите флаг deletable, но даже через код: gtk_window_set_deletable(GTK_WINDOW(window), FALSE) - если это не работает, вероятно, у вас есть какая-то другая проблема в вашем коде. Это должно работать (проверено на Gnome Shell 3.12).

2
poxip 12 Дек 2014 в 22:52
если это не работает, вероятно, у вас есть какие-либо другие проблемы в вашем коде есть ли какие-либо наиболее вероятные/обычные ошибки?
 – 
madD7
13 Дек 2014 в 13:55
Вы проверяли настройку deletable в файле поляны Windows? Создайте простое приложение, которое просто загружает окно из GtkBuilder.
 – 
poxip
13 Дек 2014 в 14:07
если это не работает, вероятно, у вас есть какие-то другие проблемы в вашем коде -- это смелое заявление: ничто не гарантирует, что это действительно удалит кнопку закрытия: 'deletable' - это просто намек на то, что оконный менеджер может решить не обращать внимания.
 – 
Jussi Kukkonen
15 Дек 2014 в 20:30

Эта функция зависит от вашего оконного менеджера, как указано здесь, Некоторые оконные менеджеры позволяют GTK+ отключать эту кнопку.

gtk_window_set_deletable()

void
gtk_window_set_deletable (GtkWindow *window,
                          gboolean setting);

По умолчанию окна имеют кнопку закрытия в рамке окна. Некоторые оконные менеджеры позволяют GTK+ отключать эту кнопку. Если с помощью этой функции вы установите для удаляемого свойства значение FALSE, GTK+ сделает все возможное, чтобы убедить оконный менеджер не показывать кнопку закрытия. В зависимости от системы эта функция может не иметь никакого эффекта при вызове уже видимого окна, поэтому вам следует вызвать ее перед вызовом gtk_widget_show(). В Windows эта функция работает всегда, так как не задействована политика оконного менеджера. Окно параметров a GtkWindow

установка TRUE для оформления окна как удаляемого

С: 2.10

2
Abd M. Srour 6 Фев 2017 в 16:21