AttributeError:消息实例没有属性'pack'

时间:2012-12-31 18:36:44

标签: python python-3.x python-2.7 tkinter

我正在使用Tkinter进行GUI,我遇到一个问题: 我尝试制作一个消息小部件,当我写的时候:

body = Message(top, bd = 2)
body.pack(side=RIGHT)

我收到此错误:

body.pack(side=RIGHT)
AttributeError: Message instance has no attribute 'pack'

我不明白这一点,因为我检查了一些指南,并且允许以这种方式使用“消息”,如示例中所示:http://www.tutorialspoint.com/python/tk_message.htm

还有其他方法可以写这个吗?

1 个答案:

答案 0 :(得分:1)

Tkinter中至少有两个Message个类。其中一个来自tkMessageBox.Message,另一个来自Tkinter.Message。前者是来自Dialog的{​​{1}}的子类,由于打包对话框没有意义,因此对于这种情况没有tkCommonDialog方法。后者是一个名为message的Tk小部件,这是你想要的;作为一个小部件,包装它是有道理的。

你的完整代码大多喜欢表格中的内容(Python 2):

pack

第二次导入会影响第一次导入的from Tkinter import * from tkMessageBox import * 类。要使用您所使用的Message课程,只需将上述代码更改为:

Message

然后相应调整您的代码。