perl - tutorial - tkinter widgets
Limitar la longitud de la barra de desplazamiento (1)
Estoy intentando crear un bloc de notas simple como GUI usando Perl Tk. He utilizado el widget Scrolled para crear un widget de texto con dos barras de desplazamiento, una a la derecha y otra a la inferior. El lugar donde se encuentran las dos barras de desplazamiento se ve así:
Sin embargo, me gustaría hacer que se vea como lo que se ve en la aplicación "Bloc de notas" de Microsoft. Así es como lo quiero:
Como puede ver, ahora hay un "cuadrado vacío" donde se encuentran las dos barras de desplazamiento. Una característica más del bloc de notas es que este "cuadrado" se puede usar para cambiar el tamaño del tamaño de la ventana. Quiero ser capaz de lograr lo mismo.
¿Cómo voy a hacer esto?
¡Gracias!
El truco es colocar los widgets con el administrador de geometría de grid
, que esencialmente crea una cuadrícula 4x4 (de tamaño desigual) con el widget de texto en "Noroeste", la barra de desplazamiento vertical en "Nordeste", la barra de desplazamiento horizontal en " Sudoeste ", y la plaza vacía en" Sudeste ". Hay un ejemplo relevante en la página man .
Creo que puedo citar el ejemplo de la página man como uso legítimo (señalando que es Copyright © 1995-1997 Roger E. Critchlow Jr. Copyright © 1996 Sun Microsystems, Inc.).
# Make the widgets
toplevel .t
text .t.txt -wrap none -xscroll {.t.h set} -yscroll {.t.v set}
scrollbar .t.v -orient vertical -command {.t.txt yview}
scrollbar .t.h -orient horizontal -command {.t.txt xview}
# Lay them out
grid .t.txt .t.v -sticky nsew
grid .t.h -sticky nsew
# Tell the text widget to take all the extra room
grid rowconfigure .t .t.txt -weight 1
grid columnconfigure .t .t.txt -weight 1
Sin embargo, tendrá que traducir a Perl-Tk. Existe una discusión de grid relacionada con Perl-Tk (aunque no específicamente sobre barras de desplazamiento) aquí en TkDocs que podría ayudarlo a comenzar. El capítulo de muestra "Learning Perl / Tk" Geometry Management también analiza la grid
.
Oh! Querías un control de cambio de tamaño en el cuarto cuadrado también. En Tcl / T (t) k, se llama ttk::sizegrip
y está documentado aquí . Nunca lo he usado yo mismo (ya que hay otras formas de cambiar el tamaño de la ventana) y no sé si está en Perl-Tk. Si no es así, hay una página wiki que habla de cómo fingir (una vez más, nunca he probado ese código).