Error in a minimal tkSimpleDialog example

前端 未结 2 1992
情深已故
情深已故 2021-02-20 07:01

I was trying out a python code example at Rosetta Code - a programming chrestomathy site, where solutions to the same task are presented in as many different programming languag

相关标签:
2条回答
  • 2021-02-20 07:29

    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.

    0 讨论(0)
  • 2021-02-20 07:42

    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).

    0 讨论(0)
提交回复
热议问题