1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# ensure that PyGTK 2.0 is loaded - not an older version
import pygtk
pygtk.require('2.0')
# import the GTK module
import gtk
import gobject
DELAY = 1000
class MyGUI:
def __init__( self, title):
self.window = gtk.Window()
self.title = title
self.window.set_title( title)
self.window.set_size_request( 260, -1)
self.window.connect( "destroy", self.destroy)
self.table = gtk.Table(4, 4)
self.create_interior(self.table)
self.window.show_all()
self._button_index = 0
gobject.timeout_add(DELAY, self.__timeout_cb, self.table)
def create_interior( self, table):
self.window.add(table)
uno = gtk.Button( "UNO")
dos = gtk.Button( "DOS")
tres = gtk.Button( "TRES")
cuatro = gtk.Button( "CUATRO")
#self.table.attach(child, left_attach, right_attach, top_attach, bottom_attach)
table.attach( uno, 0, 1, 0, 1)
uno.show()
table.attach( dos, 0, 1, 1, 2)
dos.show()
table.attach( tres, 0, 1, 2, 3)
tres.show()
table.attach( cuatro, 0, 1, 3, 4)
cuatro.show()
a = gtk.Button("A")
table.attach(a, 1, 2, 1, 2)
a.show()
b = gtk.Button("B")
table.attach(b, 2, 3, 1, 2)
b.show()
c = gtk.Button("C")
table.attach(c, 3, 4, 1, 2)
c.show()
# show the table
table.show()
def __timeout_cb(self, table):
buttonsV = table.get_children()
print buttonsV[1].get_label()
self._button_index = (self._button_index + 1) % len(buttonsV)
button = buttonsV[self._button_index]
button.grab_focus()
return True
def main( self):
gtk.main()
def destroy( self, w):
gtk.main_quit()
if __name__ == "__main__":
m = MyGUI( "Table example")
m.main()
|