How to keep a Tkinter-Dialog on top of all other windows?
Thomas Nücker
thomas.nuecker at web.de
Wed Jul 2 08:35:12 EDT 2003
Hi!
I am creating a dialog-box within my application, using tkinter. The
problem is the following: After the dialogbox is started, the main
application window comes again to top and the dialogbox is covered by
the window of the main application and must be "fetched" again via the
taskbar to continue. Is there a way to "force" the dialogbox on top of
all other windows? (I'm using MSWindows and Python22)
The source of my dialogbox-class is the following:
class NumberEntry:
def __init__(self):
import Tkinter
from Tkconstants import RIDGE
from Tkconstants import BOTH
from Tkconstants import BOTTOM
from Tkconstants import ACTIVE
from Tkconstants import LEFT
from Tkconstants import W
from Tkconstants import E
self.tk = Tkinter.Tk()
self.tk.title("My Dialog")
frame = Tkinter.Frame(self.tk, borderwidth=2)
frame.pack(fill=BOTH,expand=1)
label=Tkinter.Label(frame, text="Telefonnummer:")
label.pack(fill=BOTH,expand=1)
self.entry = Tkinter.Entry(frame, name="entry")
self.entry.pack(fill=BOTH,expand=1)
box = Tkinter.Frame()
w = Tkinter.Button(box, text="OK", width = 10, command=self.OnOk,
default = ACTIVE)
w.pack(side=LEFT, padx=5, pady=5)
w = Tkinter.Button(box, text="Cancel", width=10,
command=self.OnCancel)
w.pack(side=LEFT, padx=5, pady=5)
box.pack()
# try to keep focus on current dialog box
self.tk.focus_set()
self.tk.mainloop()
def OnOk(self):
self.result = self.entry.get()
self.tk.destroy()
def OnCancel(self):
self.tk.destroy()
result = ""
More information about the Python-list
mailing list