2012-08-14 15 views
7

Widget Etykieta nie zwija linii. Widżet Wiadomość będzie zawijał tekst liniowo, ale zmusza go do z grubsza kwadratu. Oto przykład.Jak używać programu Tkinter w języku Python do tworzenia tekstu zawijanego wierszem, który wypełnia szerokość okna?

from Tkinter import * 

root = Tk() 
root.title("hello") 

Message(root, text=48*'xxxxx ').grid(row=0, column=0, columnspan=3) 

Label(root, text='Name:').grid(row=1, column=0) 
Entry(root, width=50).grid(row=1, column=1) 
Button(root, text="?").grid(row=1, column=2) 

Button(root, text="Left").grid(row=2, column=0) 
Button(root, text="Center").grid(row=2, column=1) 
Button(root, text="Right").grid(row=2, column=2) 

root.mainloop() 

wiem, że mogę używać aspect=700 zmienić kształt, ale ciężko kodowania numery takie jak to, co staram się unikać.

Odpowiedz

17

Widżet etykiety Tkinter jest zawijany. Po prostu domyślnym ustawieniem nie jest owijanie. Aby uzyskać tekst na etykiecie do zawijania, ustaw parametr "długość obleśnięcia", jednostkami dla tego są jednostki ekranowe, więc spróbuj wraplength = 50 i wyreguluj w razie potrzeby. Konieczne będzie także ustawienie "justify" na LEWY, PRAWY lub CENTRUM. Nadzieja, która pomaga.

+0

Możliwe jest również ustawienie wiązania na widgecie, dzięki czemu można dynamicznie zmieniać długość zawijania, gdy widget zmieni rozmiar. –

+0

@ JimDenny, co masz na myśli przez jednostki ekranu? Jestem w tym nowy. – heretoinfinity

Powiązane problemy