Tkinter Frame-in məzmununu sıxmaqdan necə dayandırmaq olar?

Bu mənə problemlər verən koddur.

 f = Frame(root, width=1000, bg="blue") f.pack(fill=X, expand=True) l = Label(f, text="hi", width=10, bg="red", fg="white") l.pack() 

Bir etiketlə xətləri izah edərsən, çərçivə sağ eni ilə göstərilir. Bununla birlikdə, bir etiket əlavə etmə, çərçivənin ölçüsünü etiketin ölçüsünə qədər azaldır. Bunun qarşısını almaq üçün bir yol varmı?

29
19 февр. johnston tərəfindən 19 Fevralda təyin olundu 2009-02-19 06:21 '09 saat 06:21 'da 2009-02-19 06:21
ответ 1 cavab

Varsayılan olaraq, tk çərçivələri, məzmununa uyğunlaşmaq üçün küçülür və ya böyüyür, hallarda istənilən halda 99%. Bu funksiyanı izah edən müddət "geometriya paylaması "dır. Həndəsə dağılımını təmin etmək və ya aradan buraxmaq üçün bir əmr var .

Paketi istifadə etdiyiniz üçün sözdizim aşağıdakı kimi olacaq:

 f.pack_propagate(0) 

və ya root.pack_propagate(0) , həqiqətən təsir etmək istədiyiniz root.pack_propagate(0) asılı olaraq.

Əgər demək olar ki, vaxtın böyük bir hissəsini tkinter ölçüsünü hesablamağa icazə vermisiniz. Geometrinin yayılmasını döndürdüğünüzde GUI, çözünürlük değişikliklerine, yazı tipi değişikliklerine və s. Yaxşı cavab verməyəcəkdir. Tkinter geometriya menecerləri ( pack , placegrid ) çox güclüdür. Bu gücdən istifadə et.

42
19 февр. Cavab 19 fevralda Bryan Oakley tərəfindən verilir . 2009-02-19 22:42 '09 at 10:42 pm 2009-02-19 22:42

Etiketler haqqında digər suallar və ya bir sual