2012-04-26 35 views
0

tkinterプログラムで問題が発生していますが、LabelFrameでラベルとエントリをグループ化していますが、ウィジェットをグループ化していません。次のようにLabelFrameのための私のコードは次のとおりです。tkinter 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) 

答えて

2

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

私が間違っていない場合、Tkinterウィジェットの.gridメソッドは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 =​​= None ...

+1

はい、これは問題です。私は人々がパックやグリッドをウィジェットの作成と組み合わせる理由を理解できませんでしたが、そこにチュートリアルがあります。 –

+0

@BryanOakleyサブクラス化して 'pack'と' grid'を 'self '...しかし、私はそれがやりたいことは単なる自然なことだと思う。どのようなチュートリアルでも、ウィジェットで何かをするためにあなたのハンドルを取得することは非常に難しいので、それを主張するだろう... – mgilson

+0

私はブライアンが言ったことは、このエラーが起こりやすいパターンを使用する人が非常に多いということです誰かがこの使用法を主張する(または例を提供する)場所が存在しなければならない。これはSmalltalkのバックグラウンドを持つ私にとっては自然なことですが、そのような広がりはないと思います。 Python(他の広範な言語と同様)では、 "手続き"が自己を返すとは期待していません。 – FabienAndre

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) 

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

関連する問題