[Tkinter-discuss] Widget to appear square-shaped on screen...

Roberto Gomez rgomez at autotrol.com.ar
Tue Jul 20 19:55:51 CEST 2010


GKalman wrote:
> I'm trying to make a square-shaped  board, something like this:
> 
> from Tkinter import *
> 
> root = Tk()
> w=[]
> for k in range(9):
>     i=k/3
>     j=k%3    
>     w.append(Label(root,text=str(k),bg="red",width=5,height=5))
>     w[k].grid(row=i,column=j,padx=2,pady=2,ipadx=5,ipady=5)
> mainloop()
> 
> It shows up on my screen as rectangular (non-square) shaped. What do I have
> to do to make it appear in a square-shaped form (i.e. with Label height &
> width to be equal on the sceen)?

The problem is that you can't do that with Label widgets, because width 
and height is relative to the font used. The units of width is 
caracters, no pixels, and the units of height is lines, no pixels.
As a probe of concept, change Label for Canvas and eliminate the 
parameter "text=str(k)"
hth




More information about the Tkinter-discuss mailing list