2

我将 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

有没有另一种写法?

4

1 回答 1

1

Tkinter中至少有两个Message类。其中一个来自tkMessageBox.Message,另一个来自Tkinter.Message。前者是Dialogfrom的子类tkCommonDialog,由于打包一个对话框是没有意义的,所以这种情况下没有pack方法。后者是一个名为 message 的 Tk 小部件,这是您想要的;作为一个小部件,打包它是有意义的。

您的完整代码大多像以下形式(Python 2):

from Tkinter import *
from tkMessageBox import *

第二个导入隐藏了Message第一个导入的类。要使用Message您所追求的课程,只需将上面的代码更改为:

from Tkinter import *
import tkMessageBox

然后相应地调整您的代码。

于 2012-12-31T20:30:20.180 回答