有一種簡單的方法來改變在GTK文本元素的字體大小?現在我能做的最好的是在標籤上做set_markup
,有一些愚蠢的,如:如何更改GTK中的字體大小?
lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text)
這1)要求我設置字體,2)似乎是一個很大的開銷(不必解析標記)和3)會讓人討厭更改按鈕等的字體大小。有沒有更好的辦法?
有一種簡單的方法來改變在GTK文本元素的字體大小?現在我能做的最好的是在標籤上做set_markup
,有一些愚蠢的,如:如何更改GTK中的字體大小?
lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text)
這1)要求我設置字體,2)似乎是一個很大的開銷(不必解析標記)和3)會讓人討厭更改按鈕等的字體大小。有沒有更好的辦法?
如果你想在你的應用程序(S)字體的整體改變,我ð離開這個工作的gtkrc(然後變成一個谷歌的問題,和「的gtkrc字體」查詢給我們帶來this ubuntu forums link它具有gtkrc文件的下面的代碼段):
style "font"
{
font_name = "Corbel 8"
}
widget_class "*" style "font"
gtk-font-name = "Corbel 8"
(用您/用戶需要的字體替換字體)
然後,用戶將獲得一致的體驗,並且能夠輕鬆更改設置,而無需讓他們在代碼中戳字,也無需處理維護您的個人配置相關代碼的開銷。我知道如果你有更精確的widget_class定義,你可以使這個設置更具體。
因人而異爲不同的平臺,但據我所知這個文件是始終存在的,如果正在使用GTK某個位置,並允許用戶負責的表現的細節。
在C語言中,你可以這樣做:
gtk_widget_modify_font(lbl, pango_font_description_from_string("Tahoma 5.4"));
在PyGTK的,我相信這是這樣的:
pangoFont = pango.FontDescription("Tahoma 5.4")
lbl.modify_font(pangoFont)
在C這會創建一個內存泄漏,由於攀高字體描述需要與'pango_font_description_free被釋放()'使用後(這不是顯而易見的pango_font_description_from_string'的文檔()'本身)。除此之外,這是一個可能的解決方案。 – 2018-03-03 11:40:51
今天我很驚訝地發現,font_desc可與單獨的字體大小。這對我來說並不明顯。 – 2018-03-03 12:57:50