8 def hello(self, widget, data=None):
11 def delete_event(self, widget, event, data=None):
12 # If you return FALSE in the "delete_event" signal handler,
13 # GTK will emit the "destroy" signal. Returning TRUE means
14 # you don't want the window to be destroyed.
15 # This is useful for popping up 'are you sure you want to quit?'
17 print "delete event occurred"
19 # Change FALSE to TRUE and the main window will not be destroyed
20 # with a "delete_event".
23 def destroy(self, widget, data=None):
24 print "destroy signal occurred"
29 gtk.rc_parse_string("style 'scroll' {\n"
30 " GtkRange::slider-width = 40\n"
32 "class 'GtkRange' style 'scroll'")
34 self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
36 self.window.set_size_request(300, 200)
39 # When the window is given the "delete_event" signal (this is given
40 # by the window manager, usually by the "close" option, or on the
41 # titlebar), we ask it to call the delete_event () function
42 # as defined above. The data passed to the callback
43 # function is NULL and is ignored in the callback function.
44 self.window.connect("delete_event", self.delete_event)
46 # Here we connect the "destroy" event to a signal handler.
47 # This event occurs when we call gtk_widget_destroy() on the window,
48 # or if we return FALSE in the "delete_event" callback.
49 self.window.connect("destroy", self.destroy)
51 # Sets the border width of the window.
52 self.window.set_border_width(10)
54 vbox = gtk.VBox(False, 8)
56 sw = gtk.ScrolledWindow()
57 sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
58 sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
59 #a = gtk.Adjustment(0, 100, 100, 0, 10, 10)
63 vbox.pack_start(sw, True, True, 0)
65 data = [('fio fdkfdskajf jdkflasjkla', 'doldfsagfdas dlaskj', '212345'),
66 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
67 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
68 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
69 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
70 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
71 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
72 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
73 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
74 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
75 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
76 ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
77 ('fdas dafs fdsfasd ', 'fdasf dafa', '12435678')]
78 store = gtk.ListStore(str, str, str)
80 store.append([d[0], d[1], d[2]])
82 tree = gtk.TreeView(store)
83 tree.set_rules_hint(True)
85 t1 = gtk.CellRendererText()
86 column = gtk.TreeViewColumn("Name", t1, text=0)
87 column.set_sort_column_id(0)
88 tree.append_column(column)
91 t1 = gtk.CellRendererText()
92 column = gtk.TreeViewColumn("State", t1, text=1)
93 column.set_sort_column_id(1)
94 tree.append_column(column)
97 t1 = gtk.CellRendererText()
98 column = gtk.TreeViewColumn("Phone", t1, text=2)
99 column.set_sort_column_id(2)
100 tree.append_column(column)
104 self.window.add(vbox)
105 self.window.show_all()
112 # All PyGTK applications must have a gtk.main(). Control ends here
113 # and waits for an event to occur (like a key press or mouse event).
116 if __name__ == "__main__":