我有一個使用pygtk的fontbutton。最初,我不想設置字體,因爲系統將採用其默認的字體。我的問題是獲取系統使用的默認字體的代碼行是什麼,以便我首先保留默認字體。稍後在用戶更改字體後,他們各自的字體應該適用。 任何人都可以幫忙嗎?如何使用pygtk或pango獲取系統使用的默認字體?
2
A
回答
0
Gtk是一個工具包,可以在許多操作系統和桌面環境中運行。 Gtk不對默認字體和顏色負責。因此,據我所知,沒有單一函數可以從Gtk獲取這些值。
可能沒有一個默認字體在您的操作系統/ DE,但很多。在Ubuntu例如,你可以選擇那些在(高級)系統設置:
如果需要知道一個特定的部件,例如默認字體一個標籤,您可以執行以下操作:
from gi.repository import Gtk
l = Gtk.Label("Hello")
ls = l.get_style()
ls.font_desc.to_string()
# Ubuntu 11
3
如果您使用的是GNOME,那麼您可以獲得像這樣的默認字體。 (注意:未經測試)
from gi.repository import Gio
settings = Gio.Settings('org.gnome.desktop.interface')
font_name = settings.get_string('font-name')
您也可以使用鍵monospace-font-name
和document-font-name
適當的(我忘了窗口標題字體的鍵的名稱。)
1
有些晚,但如果有人面臨這在未來,一個簡單的方法是使用pygame
的字體模塊。當然這需要你安裝並導入pygame並初始化它!
import pygame
pygame.font.init()
def_font = pygame.font.get_default_font()
相關問題
- 1. 獲取系統默認字體
- 2. 如何在.NET Compact Framework中獲得默認的系統字體?
- 3. 如何在Qt中獲得系統默認字體大小?
- 4. 如何讓DTCoreText使用系統字體?
- 5. 獲取TabHost默認的系統顏色
- 6. UITextView字體反轉回系統默認
- 7. 應用自定義TextAppearance後,書法使用默認系統字體
- 8. 如何確定(使用C API)系統的默認NIC?
- 9. 如何獲取系統的默認瀏覽器?
- 10. 如何獲取文件的默認系統圖標?
- 11. 如何讓CMake在系統PATH上使用默認編譯器?
- 12. 如何防止用Monaca構建的Cordova應用程序使用默認系統字體大小?
- 13. 配置tinymce-rails默認使用不同的字體系列
- 14. 如何在Python 2.x中獲取系統默認編碼?
- 15. 如何從java系統字體中獲取ttf字體數據
- 16. css:如何獲得瀏覽器的默認字體系列
- 17. 如何指定系統的默認serif和sans-serif字體系列?
- 18. Xcode 7.3.1的默認字體(系統字體)是舊金山字體?
- 19. 獲取()Pandas系列中的默認值,使用位置
- 20. 爲新的MVC應用程序使用「默認」登錄系統
- 21. 如何判斷一個字體是否使用GTK和Pango等寬字體?
- 22. 使用Delphi查找系統字體
- 23. 使用sdl2-ttf打開系統字體
- 24. 獲取默認字體家族
- 25. 如何使用node.js獲取系統統計信息
- 26. 如何使用QProcess中或系統
- 27. 如何更改Silverlight使用的默認字體?
- 28. 如何獲得func_get_args&默認使用call_user_func_array
- 29. 使用ADO.NET獲取列默認值
- 30. 如何在Mozilla打開文件使用系統默認的應用程序
我不能得到系統使用任何API的默認字體?使用python,pango或pygtk? – mrabhiram 2012-08-07 09:46:03
據我所知,沒有抽象所有可能的系統的庫。對於Iphone,這裏似乎有文檔:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIFont_Class/Reference/Reference.html#//apple_ref/occ/clm/UIFont/ systemFontOfSize:對於Ubuntu,您應該查看gconftool(http://askubuntu.com/questions/4989/reset-gnome-font-configuration),等等...... – xubuntix 2012-08-07 10:11:57