Error in a minimal tkSimpleDialog example

The error message is telling you that the dialog needs a parent window.

With Python 2.x, you create the root window with:

import tkinter
from tkinter import simpledialog
root = tkinter.Tk()

To hide the root window if you don't want it, use:

root.withdraw()

See the Python Tkinter Docs for more info.


I've never used askinteger, but judging from the error message it looks like the dialog needs to know its parent but you're not telling it what its parent should be. Try adding parent=widget (where "widget" is a reference to some other widget -- typically the root widget). I can't find any documentation that says this is required, but I'm guessing it is since all Tkinter widgets except the root window need to have a parent.

If the code you show in your question is the complete code, you're missing some other things. You need to create an instance of the Tk class (called the "root" window), and you need to start the event loop (though, it's possible that the dialog runs it's own event loop, so you might be OK if all you need is the single dialog).

Tags:

Python

Tkinter