我现在才刚开始学习tkinter,在导入messagebox的时候发现我一定不是很懂import语句。
让我困惑的是:
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 的帮助显示messagebox
在列表中PACKAGE CONTENTS
,但我无法以正常方式加载它。
所以我的问题是,为什么......以及我不明白的进口是什么?
只是想我应该提一下——该代码仅在 Python 3 中有效,在 Python 2.xmessagebox
中被调用tkMessageBox
且未在tkinter
.