【发布时间】:2013-04-28 19:02:40
【问题描述】:
我现在刚开始学习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 的帮助在PACKAGE CONTENTS 的列表中显示messagebox,但我就是无法正常加载。
所以我的问题是,为什么......以及我不明白的导入是什么?
我想我应该提一下——该代码仅适用于 Python 3,而在 Python 2.x 中,messagebox 被称为 tkMessageBox,并且未在 tkinter 中定义。
【问题讨论】:
-
+1 一个很好的益智游戏(对于没有接触过 tkinter3 的人)。
标签: python python-3.x tkinter import