1 | #!/usr/bin/python |
---|
2 | from gi.repository import Gtk |
---|
3 | |
---|
4 | # http://python-gtk-3-tutorial.readthedocs.org/en/latest/introduction.html |
---|
5 | |
---|
6 | |
---|
7 | class MyWindow(Gtk.Window): |
---|
8 | |
---|
9 | def __init__(self): |
---|
10 | Gtk.Window.__init__(self, title="Gtk.TreeView 'sensitive'") |
---|
11 | self.set_default_size(250, 200) |
---|
12 | |
---|
13 | self.connect("delete-event", Gtk.main_quit) |
---|
14 | |
---|
15 | self.box = Gtk.VBox() |
---|
16 | self.scrolled = Gtk.ScrolledWindow() |
---|
17 | self.scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, |
---|
18 | Gtk.PolicyType.AUTOMATIC) |
---|
19 | |
---|
20 | self.store = Gtk.ListStore(str, str) |
---|
21 | for i in range(5): |
---|
22 | self.store.append([str(i), 'Item %s' % i]) |
---|
23 | |
---|
24 | self.treeview = Gtk.TreeView(self.store) |
---|
25 | renderer_no_sens = Gtk.CellRendererText() |
---|
26 | # set 'sensitive' property |
---|
27 | renderer_no_sens.set_property('sensitive', False) |
---|
28 | |
---|
29 | renderer = Gtk.CellRendererText() |
---|
30 | |
---|
31 | column = Gtk.TreeViewColumn('\'sensitive\' False', |
---|
32 | renderer_no_sens, text=0) |
---|
33 | self.treeview.append_column(column) |
---|
34 | |
---|
35 | column = Gtk.TreeViewColumn('\'sensitive\' True', |
---|
36 | renderer, text=1) |
---|
37 | self.treeview.append_column(column) |
---|
38 | |
---|
39 | self.scrolled.add(self.treeview) |
---|
40 | self.box.add(self.scrolled) |
---|
41 | self.add(self.box) |
---|
42 | |
---|
43 | self.show_all() |
---|
44 | |
---|
45 | |
---|
46 | if __name__ == '__main__': |
---|
47 | win = MyWindow() |
---|
48 | Gtk.main() |
---|