2016-05-17 3 views
0

この単純なフレームでラベルを取得するにはどうすればよいですか?私はラベルをフレームに移動しようとしましたが、ラベルのみが表示され、フレームが消えてしまいました。ラベルをクラスなしでフレームに貼り付けます

ここでは2種類のサイズが必要です。 root.geometry( "200x200")は灰色です。私もフレームを100w x 100hの根元に置いています。コードを実行すると、両方の色領域が大きく表示されます。しかし、私のレーベルはFrame darkgray領域には表示されません。それは私の問題です。

from Tkinter import * 

root=Tk() 
root.geometry("200x200") 
root.title("basicGUI") 
root.configure(background="gray") 

frame = Frame(width=100, height=100, 
       bg="darkgray") 
frame.pack() 

mylabel=Label(text="anyWord") 
mylabel.pack() 

""" 
# darkgray frame disappears 
mylabel=Label(frame, text="anyWord") 
mylabel.pack(side = LEFT) 
""" 

mainloop() 
+0

希望する出力を明確にすることはできますか?私はあなたの現在の出力を見て、正確に何をしたいのか明確ではありません。 – miradulo

+1

ラベルをフレームに入れていません。ラベルを作成するときは、その親を指定します。 'mylabel = Label(frame、text = ..)' – Lafexlos

+0

.pyはダークグレー100w x 100hダークグレーフレームを示しています。私が必要とするのは、ダークグレーの枠に入るラベルです。私が得るのは、ダークグレーのフレーム領域の下のラベルです。これは、200w x 200hのルート領域です。ダークグレーのフレーム領域にラベルが必要です。 – rasPi2bSarah

答えて

1

Lafexlosのおかげで、1行追加で私の問題が解決しました。

from Tkinter import * 

root=Tk() 
root.geometry("200x200") 
root.title("basicGUI") 
root.configure(background="gray") 

frame = Frame(width=100, height=100, 
       bg="darkgray") 

frame.pack_propagate(0) #adding line solves problem 
frame.pack() 

mylabel1=Label(frame, text="anyWord") 
mylabel1.pack(side = TOP) 

mainloop() 
関連する問題