Как с помощью gtk3 изменить цвет заголовка GtkWindow по умолчанию? Будет ли это включать GtkStyleContext? Я использовал только GtkCssProvider.
gtk3 Цвет строки заголовка GtkWindow
Ответы (2)
Вы не можете изменить цвет заголовка из GTK. Заголовок отрисовывается оконным менеджером, и GTK ничего об этом не «знает». Вы можете общаться с оконным менеджером только через «подсказки», например, должно ли окно иметь строку заголовка или какая строка должна там отображаться, но оконный менеджер может их игнорировать.
person
ptomato
schedule
08.01.2012
А как насчет GtkThemingEngine? ссылка
- person mike; 08.01.2012
Нет, это для стилизации содержимого окон GTK. По-прежнему не имеет ничего общего с оконным менеджером.
- person ptomato; 09.01.2012
Вы можете это сделать ... (по крайней мере, в Linux). Происходит то, что ваше окно не декорируется, а затем «украшается» панелью заголовка (которая, как оказалось, имеет кровавую «show_close_button», так что я предполагаю, что это преднамеренный использовать )
class base_ui(Gtk.Window):
def __init__(self):
# initializing self ( the window )
Gtk.Window.__init__(self, title="window title")
self.set_border_width(1)
self.set_default_size(800, 600)
# Create the header bar
hb = Gtk.HeaderBar()
# This is the id of the header bar to be used in the css file
hb.set_name("mw_hb")
# we can even set a close button ...
# you can add the other buttons as well, but have to do it yourself
hb.set_show_close_button(True)
# the effective text in the titlebar ( the window title )
# is props.title
hb.props.title = "win title"
# and here comes the sun - we set our headerbar as the new titlebar.
# Bazinga
self.set_titlebar(hb)
person
Andrei Pufu Arthank
schedule
29.11.2018