2011-09-20 123 views
1

我怀疑我在这里有一些非常简单的错误,但我不能发现什么。下面的代码:Tkinter导入问题

import Tkinter as Tk 
Tk.tkMessageBox.showerror(message='some error') 

给出:

AttributeError: 'module' object has no attribute 'tkMessageBox' 

窗口小部件(例如按钮,输入)工作正常。交互式我得到相同的结果,也:

>>> import Tkinter as Tk 
>>> print Tkinter 
<module 'Tkinter' from 'C:\Python26\lib\lib-tk\Tkinter.pyc'> 

和tkMessageBox.py 在C:\ Python26 \ LIB \ LIB-TK。虽然为什么Lib/lib的大小写不同?!

这是在Windows的Python 2.6,运行Tkinter._test()报告版本8.5

回答

3

我想你的意思是这样的:

import tkMessageBox 
tkMessageBox.showerror(message='some error') 
+0

所以,我没有,谢谢!但是,为什么tkMessageBox不是Tkinter包的子模块? – lost

+1

@lost:我不确定,但我认为'Tkinter'模块仅仅是一个纯粹的Tcl/Tk API端口,没有新东西,而'tkMessageBox'是一个构建在该API上的脚本。打开'tkMessageBox.py',你会看到:) – orlp