Skip to content

Commit ccfb6db

Browse files
authored
Add files via upload
1 parent 14d6d75 commit ccfb6db

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

tkGrid_IntVar.py

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
'''
2+
Simple tkinter grid application
3+
'''
4+
5+
import os
6+
import tkinter
7+
import tkinter.ttk
8+
import lib.dbg
9+
10+
11+
class App:
12+
13+
# Add what I think is a missing integer property to tkinter.IntVar
14+
class IntVar2(tkinter.IntVar):
15+
def __init__(self):
16+
tkinter.IntVar.__init__(self)
17+
self._i = 0 # internal value for property 'i'.
18+
19+
@property
20+
def i(self):
21+
return self._i
22+
23+
@i.setter
24+
def i(self, i):
25+
self._i = i
26+
self.set(i)
27+
28+
def __init__(self):
29+
self.root = tkinter.Tk()
30+
self.root.title(os.path.basename(__file__))
31+
32+
tkinter.Label(self.root, text='Cnt').grid(row=1, column=0)
33+
self.cnt = [App.IntVar2() for i in range(5) ]
34+
for i in range(5):
35+
tkinter.Label(self.root, text='Cnt{0}'.format(i)).grid(row=0, column=1 + i)
36+
tkinter.Label(self.root, textvariable=self.cnt[i]).grid(row=1, column=1 + i)
37+
38+
self.sum = App.IntVar2()
39+
tkinter.Label(self.root, text='sum').grid(row=2, column=0)
40+
tkinter.Label(self.root, textvariable=self.sum).grid(row=2, column=1, columnspan=5, sticky='ew')
41+
42+
self.update_clock()
43+
self.root.mainloop()
44+
45+
def update_clock(self):
46+
self.root.after(500, self.update_clock)
47+
for i in range(5):
48+
self.cnt[i].i += 1
49+
50+
self.sum.i = sum([self.cnt[i].i for i in range(5)])
51+
52+
app = App()

0 commit comments

Comments
 (0)