2

GUIにTkinterを使用していますが、問題が1つあります。メッセージウィジェットを作成しようとすると、次のように記述します。

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

MessageTkinterには少なくとも2つのクラスがあります。1tkMessageBox.Messageつはから、もう1つはからTkinter.Messageです。前者はDialogfromのサブクラスでありtkCommonDialog、ダイアログをパックすることは無意味であるpackため、この場合のメソッドはありません。後者はメッセージと呼ばれるTkウィジェットで、これはあなたが望むものです。ウィジェットなので、パックするのは理にかなっています。

あなたの完全なコードは、ほとんどの場合、(Python 2)の形式で何かを持っているようなものです:

from Tkinter import *
from tkMessageBox import *

Message2番目のインポートは、最初のインポートからクラスをシャドウします。目的のクラスを使用するにはMessage、上記のコードを次のように変更するだけです。

from Tkinter import *
import tkMessageBox

次に、それに応じてコードを適合させます。

于 2012-12-31T20:30:20.180 に答える