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
| import Tkinter
def TestGUI ( use_label ):
def make_widget ( x,y,sx,sy,text ):
color = '#%x%x%x'%( x*5+5,y*5+5,x*3+y*3+9 )
if use_label :
res = Tkinter.Label( main,bg=color,text=text )
else:
res = Tkinter.Canvas( main,bg=color,highlightthickness=0 )
res.create_text( 30,10,text=text )
res.grid( column=x,row=y,columnspan=sx,rowspan=sy,sticky=Tkinter.NSEW )
root = Tkinter.Tk()
root.geometry('700x500+10+10')
root.bind('<Escape>',lambda e : root.quit())
main = Tkinter.Frame( root )
make_widget( 0,0 , 1,1 , 'zone 1' )
make_widget( 1,0 , 1,1 , 'zone 2' )
make_widget( 0,1 , 1,1 , 'zone 3' )
make_widget( 1,1 , 1,2 , 'zone 4' )
make_widget( 0,2 , 1,1 , 'zone 5' )
make_widget( 2,0 , 1,3 , 'zone 6' )
for i,w in enumerate(( 3,2,1 )) : main.rowconfigure ( i,weight=w )
for i,w in enumerate(( 9,3,1 )) : main.columnconfigure( i,weight=w )
main.pack( fill=Tkinter.BOTH,expand=1 )
root.focus_force()
root.mainloop()
root.destroy()
TestGUI( 1 )
TestGUI( 0 ) |
Partager