[Tkinter-discuss] grid manager does propagate width - why?
Martin B.
spooky.ln at tbs-software.com
Tue Jan 18 11:46:03 CET 2011
V Tue, 18 Jan 2011 11:23:30 +0100
Helmut Jarausch <jarausch at igpm.rwth-aachen.de> napsáno:
hi,
i make little rewrite your LabEntry.
seems to work
<code>
import tkinter as Tk
class LabEntry(Tk.Frame) :
def __init__(self,root,label,**args) :
super().__init__()
entry = Tk.Entry(self, **args)
entry.grid(column=1, row=0)
Lab=Tk.Label(self,text=label)
Lab.grid(column=0,row=0)
def Finish() :
root.destroy()
root= Tk.Tk()
root.protocol('WM_DELETE_WINDOW',Finish)
Name= Tk.StringVar()
Name.set('')
NameE= LabEntry(root,'Name :',textvariable=Name,width=25)
NameE.grid(column=0,row=0)
Tk.mainloop()
</code>
> Hi,
>
> I have two version of a simple labeled entry widget.
>
> import Tkinter as Tk
>
> class LabEntry(Tk.Entry) :
> def __init__(self,root,label,**args) :
> self.Frame= Tk.Frame(root)
> Lab=Tk.Label(self.Frame,text=label)
> Lab.grid(column=0,row=0)
> Tk.Entry.__init__(self,self.Frame,**args)
> self.grid(column=1,row=0)
>
> def grid(self,**args) :
> self.Frame.grid(**args)
>
> def Finish() :
> root.destroy()
>
> root= Tk.Tk()
> root.protocol('WM_DELETE_WINDOW',Finish)
> Name= Tk.StringVar()
> Name.set('')
> NameF= Tk.Frame(root)
> NameF.grid(column=0,row=0)
> Tk.Label(NameF,text='Name :').grid(column=0,row=0)
> NameE= Tk.Entry(NameF,textvariable=Name,width=25)
> NameE.grid(column=1,row=0)
> Tk.mainloop()
>
> -------------------------------------------------
>
> This version, which doesn't use LabEntry, reserves space for 25
> characters in the entry widget.
>
> But, replacing the last 6 lines by
>
> NameE= LabEntry(root,'Name :',textvariable=Name,width=25)
> NameE.grid(column=0,row=0)
> Tk.mainloop()
>
> the (internal) entry widget has only size 0 initially.
> Why?
>
> Many thanks for a hint,
> Helmut.
> _______________________________________________
> Tkinter-discuss mailing list
> Tkinter-discuss at python.org
> http://mail.python.org/mailman/listinfo/tkinter-discuss
>
More information about the Tkinter-discuss
mailing list