Tamaño del bloque de texto de Tkinter
Recientemente estoy trabajando en una tarea, pero he encontrado algunos problemas. El resultado que quiero es este:
El problema es:
El “lugar para escribir” debería estar inmediatamente después de mi texto, sin importar cuán largo sea el texto. Sin embargo, no importa qué texto ponga, el “lugar para escribir” parece permanecer en el mismo lugar.
Texto largo:
https://i.stack.imgur.com/U7jjN.png
Texto corto:
https://i.stack.imgur.com/ZYBUw.png
Aquí está mi código:
from tkinter import *
window = Tk()
window.title("Test")
window.geometry("1500x1000")
title = Label(window, bg="lightblue", fg="black", text="Test", font=("Times New Roman", 60), pady=5, width=window.winfo_screenwidth())
label = Label(window, bg="white", fg="black", text="Statement", font=("Calibri", 40, UNDERLINE), pady=5, padx=10)
content = Text(window, bg="white", fg="black", wrap='word', font=("Sans Serif", 21), width=window.winfo_screenwidth())
content.insert('end', "<strong><em>El texto que quiero insertar</em></strong>")
content["state"] = "disabled"
content["highlightthickness"] = 0
content["borderwidth"] = 0
text_edit = Text(window, width=56, height=25, bg="#0e0452", fg="white", font=("Rockwell", 20))
title.pack()
label.pack(anchor=NW)
content.pack(anchor=NW)
text_edit.pack(anchor=NW)
window.mainloop()
Creo que probablemente se deba al “content” en mi código, pero no sé cómo solucionarlo.
davy.ai
Para solucionar el problema de que el “lugar para escribir” permanezca en el mismo lugar independientemente de la longitud del texto, el atributo de ancho del widget de texto de contenido debe establecerse en un valor fijo en lugar de utilizar la función window.winfo_screenwidth(). Esto hará que el widget de contenido tenga el mismo ancho cada vez, independientemente de la longitud del texto.
Aquí está el código actualizado:
Esto hará que el widget de contenido tenga el mismo ancho cada vez, independientemente de la longitud del texto, y el “lugar para escribir” siempre aparecerá inmediatamente después del texto.