iwl kirjoitti:
at the python Console under XP (not pythonw).
-> instead of only showing the Inputwindow at the top,
some additional empty window is shown, both not on top.
I assumed that by "python Console" you mean the IDLE editor/interpreter.
I entered your 2 lines and the behaviour is the same on Win XP. I doubt
it has nothing to do with the OS, though.
(A word of warning but don't tell anyone: I've never used Tkinter, I use
wxPython!)
Every GUI implementation has a command loop and things to initiate the
correct execution environment. I think that's what you are missing here
and that's causing the odd behaviour.
I found an example (16.1.2.2 A Simple Hello World Program) in Python 2.4
and modified as shown:
#===============================================
from Tkinter import *
import tkSimpleDialog # <<<=== modification here
class Application(Frame):
def say_hi(self):
print "hi there, everyone!"
def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack({"side": "left"})
self.hi_there = Button(self)
self.hi_there["text"] = "Hello",
self.hi_there["command"] = self.say_hi
self.hi_there.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
tkSimpleDialog.askstring("a","b") # <<<=== modification here
root.destroy()
#===============================================
If you run it, it first shows the "Hello dialog" and after clicking the
QUIT button, your askstring gets run.
So: nothing wrong with Python, Tkinter or tkSimpleDialog.askstring.
Just carry on having fun with Python!
HTH,
Jussi