Tkinter / Entry widget problem
John Posner
jjposner at optimum.net
Tue Jul 14 10:07:52 EDT 2009
> Andras Szabo wrote:
>
>
>> Hello. I searched the archives but couldn't find a solution to a
>> problem related to the Entry widget in Tkinter.
>>
>> When creating a pop-up window in an app, which contains an Entry
>> widget, I want this widget to contain some default string, to have all
>> this default string selected (as if the user had manually selected
>> everything), and to have the focus transferred to this widget.
>>
>> (The idea is then that if the window pops up, the user won't have to
>> click or press Tab any more before being able to type what is needed
>> in the textbox, overwriting what is written there already.)
>>
>> I thought this might be the way to go:
>>
>> entrybox=Entry(toplevel_parent_window)
>> entrybox.insert(0,"Some default string")
>> entrybox.select_range(0,END)
>> entrybox.focus_set()
>> entrybox.pack()
>>
>> But it doesn't seem to work - the focus is not transferred to the
>> Entry widget, and the text does not appear to be selected (even though
>> after this entrybox.selection_present() returns True).
>>
>> What am I doing wrong?
>>
>
> Nothing, I would think. Can you post a minimal runnable example?
>
> Peter
This works for me, on Windows and Linux:
from Tkinter import *
rt = Tk()
rt.title("root window")
pop = Toplevel()
pop.title("second window")
entrybox=Entry(pop)
entrybox.insert(0,"Some default string")
entrybox.select_range(0,END)
entrybox.focus_set()
entrybox.pack()
rt.withdraw()
rt.mainloop()
On Win/XP SP3:
> python
Python 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> Tkinter.TkVersion
8.5
>>> Tkinter.TclVersion
8.5
On Ubuntu Linux (Ubu-SL 2.6.27.14-generic):
$ python
Python 2.6.1 (r261:67515, Jan 9 2009, 19:06:23)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> Tkinter.TkVersion
8.4000000000000004
>>> Tkinter.TclVersion
8.4000000000000004
-John
More information about the Python-list
mailing list