我在 GUI 中使用 Tkinter,但遇到一个问题: 我尝试制作一个消息小部件,当我写的时候:
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
还有别的写法吗?
请您参考如下方法:
Tkinter 中至少有两个Message 类。其中一个来自tkMessageBox.Message,另一个来自Tkinter.Message。前者是 tkCommonDialog 中 Dialog 的子类,由于打包对话框是没有意义的,因此在这种情况下没有 pack 方法。后者是一个叫message的Tk widget,就是你要的那个;作为一个小部件,打包它是有意义的。
您的完整代码大多包含以下形式(Python 2):
from Tkinter import *
from tkMessageBox import *
第二个导入隐藏了第一个导入的 Message 类。要使用您想要的 Message 类,只需将上面的代码更改为:
from Tkinter import *
import tkMessageBox
然后相应地调整您的代码。
