Python3, Gtk3, Glade, установить цвет метки из кода - PullRequest
0 голосов
/ 30 октября 2019

У меня есть файл Glade с меткой серого цвета по умолчанию, которую я хочу переопределить зеленым из кода.

Поэтому я добавил класс стилей в Glade:

glade part

и добавил это в мой скрипт на Python:

python part

Однако цвет остается серым.

Что я сделал не так?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Проблема заключалась в том, что Glade изначально предшествовал имени класса стиля с точкой в ​​своем сгенерированном XML-файле (см. Скриншот в OP).

Вам необходимо отредактировать XML-файл Glade и удалить его:

enter image description here

После этого вы можете многократно менять имя класса стиля в графическом интерфейсе Glade, оно снова не получает точку.

0 голосов
/ 31 октября 2019

Я сделал это немного по-другому.

в файлеforcolors.css

Я включил

#resetstddata_button {
    background: #00BFFF;
}

, где "resetstddata_button" - это имя виджета вфайл glade (откройте редактор glade, нажмите кнопку GtkButton, для которой вы хотите изменить цвет, страница «common», вы увидите запись параметра «Имя виджета», поместите в нее «resetstddata_button»).

Извлечение кода Python3 для этого изменения цвета кнопки:

style_provider = gtk.CssProvider()
css = open('/home/fileforcolors.css',
           'rb')  # rb needed for python 3 support

css_data = css.read()
css.close()
style_provider.load_from_data(css_data)
gtk.StyleContext.add_provider_for_screen(gdk.Screen.get_default(), style_provider,
                                         gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)

Надеюсь, это поможет.

...