我正在寻找一种方法,在 PyGObject 应用程序上,在主题更改时收到通知。我需要这个通知,因为我正在使用绘制图表,matplotlib并且我将图表的文本颜色设置为当前 GTK3 主题的标准标签颜色:temp_label = Gtk.Label()scrolled_window.add(temp_label)text_color = rgba_to_hex(temp_label.get_style_context().get_color(Gtk.StateType.NORMAL))但是,当用户切换主题时,我需要获取新的标签颜色并重新绘制图形。目前,从深色主题变为浅色主题会使标签变得不可读:
1 回答

回首忆惘然
TA贡献1847条经验 获得超11个赞
我发现最接近的是连接到gtk-theme-name:
Gtk.Settings.get_default().connect("notify::gtk-theme-name", self._on_theme_name_changed)
@staticmethod
def _on_theme_name_changed(settings, gparam):
print("Theme name:", settings.get_property("gtk-theme-name"))
添加回答
举报
0/150
提交
取消