iwl kirjoitti: > On 6 Mrz., 14:48, "Tim Golden" <[EMAIL PROTECTED]> wrote: >> On Mar 6, 1:13 pm, "iwl" <[EMAIL PROTECTED]> wrote: >> >> It's not clear whether you're talking about the usual >> "Why do I get a DOS window when I run my python script?" >> question -- to which the answer is, in essence, change >> your script's extension to .pyw or use the pythonw.exe >> executable -- or "Why _when I use askstring_ do I get >> an empty window?". If it's the latter, then I don't >> know, but can you provide a small example script which >> exhibits the behaviour. >> >> TJG > >>>> import tkSimpleDialog >>>> tkSimpleDialog.askstring("a","b") > > 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 -- http://mail.python.org/mailman/listinfo/python-list