例子
代码:
#!/usr/bin/env python3
# Created by xiaosanyu at 16/7/6
# section 139
TITLE = "System Fonts"
DESCRIPTION = """
This example lists all available
fonts on a system in a TreeView widget
"""
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk, Pango
class PyApp(Gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_size_request(350, 250)
self.set_border_width(8)
self.connect("destroy", Gtk.main_quit)
self.set_title("System fonts")
sw = Gtk.ScrolledWindow()
sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
context = self.create_pango_context()
self.fam = context.list_families()
store = self.create_model()
treeview = Gtk.TreeView(store)
treeview.set_rules_hint(True)
sw.add(treeview)
self.create_column(treeview)
self.add(sw)
self.show_all()
@staticmethod
def create_column(treeview):
renderer_text = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("FontName", renderer_text, text=0)
column.set_sort_column_id(0)
treeview.append_column(column)
def create_model(self):
store = Gtk.ListStore(str)
for ff in self.fam:
store.append([ff.get_name()])
return store
def main():
PyApp()
Gtk.main()
if __name__ == '__main__':
main()