私はちょうどその時点でtkinterを学び始めています。メッセージボックスをインポートするとき、私はimport文を実際に理解してはいけないということを発見しました。私を混乱させるtk messagebox import confusion
事はつまり:
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()
は罰金コンパイル、コードながらボタンを押すと、エラー'module' object has no attribute 'messagebox'
を与える:
import tkinter as tk
from tkinter import messagebox
...
if messagebox.askokcancel("Quit", "Never Mind"):
...
...が滞りなく動作します。
from tkinter import *
でインポートすると、同様のエラーが発生します。
tkinterのヘルプはPACKAGE CONTENTS
のリストにmessagebox
を表示していますが、通常の方法ではロードできません。
私の質問は、なぜ...そして、それは私が理解していないものをインポートするのですか?
はちょうど私が言及すべき-コードはPythonの3で動作し、とPython 2.xのmessagebox
にtkMessageBox
と呼ばれ、tkinter
で定義されていないと思いました。
+1(tkinter3に触れていないもののために)良いパズルゲームを試してみてください。 – msw