2012-08-14 19 views
7

El widget de etiqueta no se ajusta en línea. El widget Mensaje alineará el texto, pero lo fuerza a ser aproximadamente cuadrado. Aquí hay un ejemplo.¿Cómo uso Tkinter en Python para crear texto envuelto en línea que llene el ancho de la ventana?

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() 

sé que puedo usar aspect=700 para cambiar la forma, pero los números difíciles de codificación como eso es lo que estoy tratando de evitar.

Respuesta

17

El widget de etiquetas Tkinter se ajusta. Es solo que la configuración predeterminada no es envoltura. Para obtener el texto en una etiqueta para ajustar, configure el parámetro "wraplength", las unidades para esto son unidades de pantalla, intente con wraplength = 50 y ajuste según sea necesario. También deberá configurar "justificar" a IZQUIERDA, DERECHA o CENTRAL. Espero que ayude.

+0

También es posible establecer un enlace en el widget para que pueda cambiar dinámicamente la duración del ajuste cuando el widget cambie de tamaño. –

+0

@JimDenny, ¿qué quiere decir con unidades de pantalla? Soy nuevo en esto. – heretoinfinity

Cuestiones relacionadas