python - tk messagebox import confusion -


i'm beginning learn tkinter @ moment, , when importing messagebox found must not understand import statements.

the thing confuses me that:

import tkinter tk  def text_box():     if tk.messagebox.askokcancel("quit", "never mind"):         root.destroy()  root = tk.tk() button = tk.button(root, text="press button", command=text_box) button.pack() root.mainloop() 

compiles fine, pressing button gives error 'module' object has no attribute 'messagebox', while code:

import tkinter tk tkinter import messagebox  ...     if messagebox.askokcancel("quit", "never mind"): ... 

...works without hitch.

i similar error if import from tkinter import *.

the tkinter shows messagebox in list of package contents, can't load in normal way.

so question is, why...and importing don't understand?

just thought should mention—the code works in python 3, , in python 2.x messagebox called tkmessagebox , not defined in tkinter.

tkinter.messagebox module, not class.

as isn't imported in tkinter.__init__.py, explicitly have import before can use it.

import tkinter tkinter.messagebox  # raise importerror tkinter import messagebox tkinter.messagebox  # it's available eiter `messagebox` or `tkinter.messagebox` 

Comments

Popular posts from this blog

Perl - how to grep a block of text from a file -

delphi - How to remove all the grips on a coolbar if I have several coolbands? -

javascript - Animating array of divs; only the final element is modified -