我正在尋找一種方法,在 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
提交
取消