1

tkinterプログラムで問題が発生しました。LabelFrameで一連のラベルとエントリをグループ化していますが、ウィジェットがグループ化されていません。LabelFrameの私のコードは次のとおりです。

(編集:ラベルを表示することができましたが、ウィジェットがグループ化されていません。)

root=Tk()
message_frame=LabelFrame(root,text="testing",padx=0,pady=0,width=100,height=100).grid(padx=5,pady=10)

message_label=Label(message_frame,text="Message").grid(row=1,column=0,sticky=W)
pub_label=Label(message_frame,text="Public Key").grid(row=2,column=0,sticky=W)
priv_label=Label(message_frame,text="Public Key").grid(row=3,column=0,sticky=W)

message_entry=Entry(message_frame,textvariable=message,width=50).grid(row=1,column=1,sticky=W)
pub_entry=Entry(message_frame,textvariable=pub_key,width=50).grid(row=2,column=1,sticky=W)
priv_entry=Entry(message_frame,textvariable=private_key,width=50).grid(row=3,column=1,sticky=W)
4

2 に答える 2

2

フレームにいくつかのサイズ属性を与えます。

from Tkinter import *
root = Tk()  
message_frame = LabelFrame(root,text="testing",padx=0,pady=0,width=100,height=100).grid(row=0,column=0,padx=5,pady=10)

幅と高さを定義すると、フレームが正常に表示されます。フレームのコンテンツの一部を投稿すると、これが問題ではないかどうかが明確になる場合があります。

于 2012-04-26T02:40:03.113 に答える
2

Tkinterの一般的なワークフローは、ウィジェットを作成し、ジオメトリマネージャーを使用して2つの別々の行に配置することです。

私が間違っていなければ、.gridTkinterウィジェットのメソッドはを返しますNone。したがって、print message_frame作成した直後に、それがであることがわかるでしょうNone。次のウィジェットに渡されたものを使用すると、ルートウィジェットに配置したいと見なされます...

簡単な修正は、次のようなことを行うことです。

message_frame=LabelFrame(root,text="testing",padx=0,pady=0,width=100,height=100)
message_frame.grid(row=0,column=0)

そして、あなたが実際に望んでいるとは思えないので、おそらくすべてのウィジェットで同じことをしたいと思うでしょうpub_label= priv_label= None...

于 2012-04-26T03:20:45.683 に答える