tk messagebox importieren Verwirrung

Ich beginne gerade zu lernen, tkinter im moment, und beim Import messagebox fand ich, dass muss ich nicht wirklich verstehen, import-Anweisungen.

Die Sache, die mich verwirrt ist, dass:

import tkinter as tk

def text_box():
    if tk.messagebox.askokcancel("Quit", "Never Mind"):
        root.destroy()

root = tk.Tk()
button = tk.Button(root, text="Press the button", command=text_box)
button.pack()
root.mainloop()

kompiliert in Ordnung, aber durch drücken der Schaltfläche gibt den Fehler 'module' object has no attribute 'messagebox' während der code:

import tkinter as tk
from tkinter import messagebox

...
    if messagebox.askokcancel("Quit", "Never Mind"):
...

...funktioniert ohne Probleme.

Bekomme ich eine ähnliche Fehlermeldung, wenn ich den import mit from tkinter import *.

Hilfe für tkinter zeigt messagebox in der Liste der PACKAGE CONTENTS, aber ich kann nicht laden Sie es in der üblichen Weise.

Also meine Frage ist, warum...und was hat es mit dem Import, dass ich nicht verstehe?

Dachte nur, ich sollte erwähnen—der code funktioniert nur in Python 3 und Python 2.x messagebox heißt tkMessageBox und ist nicht definiert tkinter.

  • +1 ein guter puzzler (für jemanden, der noch nicht berührt tkinter3).
InformationsquelleAutor Apple | 2013-05-04
Schreibe einen Kommentar