2010-11-21 24 views

cevap

6

kutuya koyun. Gerekirse dolgu ekleyin. Veya, göreli veya mutlak konumlandırmayı kullanmanıza olanak tanıyan bir yer kullanın. Göreli x/y değerini .5/.5 ve "c" (orta) bir çapa kullanabilirsiniz.

import Tkinter as tk 

root=tk.Tk() 
f1 = tk.Frame(width=200, height=200, background="red") 
f2 = tk.Frame(width=100, height=100, background="blue") 

f1.pack(fill="both", expand=True, padx=20, pady=20) 
f2.place(in_=f1, anchor="c", relx=.5, rely=.5) 

root.mainloop() 
+0

Ne f1 ne de f2 bir ebeveyn bildirmediği için biraz kafa karıştırıcıdır. F1 kökünde paketlenmeyi nasıl biliyor? Ayrıca 2 farklı geometri yöneticisi karışıyor. Bu her yerde kötü uygulama olarak uyarılır. Ancak, çalışır ve saatlerce sıkışmış bir sorunu çözer. Yani +1! – wsaleem

+1

@wsaleem: Kök penceresinin dışındaki her pencerenin bir ebeveyn olması gerekir. Bir pencere öğesi açık bir ebeveyn belirtmediğinde kök pencere varsayılan değerdir. Paket ve yer (ve/veya ızgara) karıştırmak için gelince: Bu bir bütün olarak bir uygulamada, tamamen doğru - hatta tercih edilir. Sadece onları içeren aynı pencerede karıştıramazsınız. Bu durumda 'f1' kök pencere tarafından yönetiliyor ve' f2' 'f1' tarafından yönetiliyor (in_' parametresi nedeniyle. –

İlgili konular