Python tkinter -- Capítulo 17 PanedWindow

Capítulo 17 PanedWindow
PanedWindow (panel) admite la creación de una o más subventanas como un control de administración de diseño de ventana. Puede usar el mouse para arrastrar la línea divisoria para cambiar el tamaño de la subventana. PanedWindow es un nuevo control agregado después de Tk8.4 Similar al control Frame, proporciona un marco para los componentes. Sin embargo, el control del panel puede ajustar dinámicamente el tamaño de la ventana secundaria.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,
                  sashrelief=tk.SUNKEN)
left=tk.Label(b1,text='左边窗口')
b1.add(left)
right=tk.Label(b1,text='右边窗口')
b1.add(right)
b1.pack(fill=tk.BOTH,expand=1)
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1 Propiedades

Atributos significado
fondo de
pantalla
establecer el color de fondo
ancho de borde
bd
establecer el ancho del borde
cursor Especifica el estilo del mouse cuando el mouse se desplaza sobre PanedWindow
almohadilla de la manija Ajuste la posición del "mango"
tal como orient=VERTICAL, la opción de manillar indica la distancia entre el manillar en la "línea divisoria" y el extremo izquierdo, si orient=HORIZONTAL, entonces la distancia es la distancia entre el manillar y el extremo superior. El valor predeterminado es 8 píxeles.
tamaño del mango Establezca el tamaño del "mango" (dado que el "mango" debe ser un cuadrado, es para establecer la longitud lateral del cuadrado) El
valor predeterminado es 8 píxeles
altura Establecer la altura de PanedWindow
Si se omite esta opción, la altura está determinada por el tamaño del componente secundario
tamaño opaco Esta opción define la operación para que el usuario ajuste el tamaño del panel.
Si el valor de esta opción es True (predeterminado), el tamaño del panel cambia a medida que el usuario arrastra el mouse.
Si el valor de esta opción es False, el tamaño del panel cambia cuando el usuario suelta el mouse. Solo se actualiza a la nueva ubicación cuando
orientar El modo de distribución del panel especificado
puede ser HORIZONTAL (distribución horizontal) y VERTICAL (distribución vertical)
alivio Especifique el estilo del borde.
El valor predeterminado es PLANO.
Además, también puede configurar HUNDIDO, ELEVADO, RANURADO o CABALLETE.
cursor de guillotina Establecer el estilo del cursor al ajustar la línea divisoria
almohadilla de guillotina Establecer el espacio entre el divisor y el panel
sashrelief Establezca el estilo de la línea divisoria.
El valor predeterminado es PLANO
. También puede establecer SUNKEN, RAISED, GROOVED o RIDGE
ancho de hoja Establecer el ancho de la línea divisoria
exhibidor Establezca si mostrar el controlador del panel de ajuste.
El valor predeterminado es Falso.
ancho Establece el ancho de PanedWindow.
Si se omite esta opción, la altura está determinada por el tamaño del componente secundario.
17.1.1 fondo (fondo)
Establezca el color de fondo.

17.1.2 borderwidth(bd)
Establece el ancho del marco del control del panel.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,
                  sashrelief=tk.SUNKEN,bg='blue',
                  width=240,border=30)
left=tk.Entry(b1,width=5)
b1.add(left)
right=tk.Entry(b1,width=5)
b1.add(right)
b1.pack()
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1.3
La forma del cursor cuando el mouse pasa sobre el panel de control. Consulte la sección 3.3.6 para conocer la introducción específica del cursor.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,
                  sashrelief=tk.SUNKEN,
                  width=240,cursor='spider')
left=tk.Entry(b1,width=5)
b1.add(left)
right=tk.Entry(b1,width=5)
b1.add(right)
b1.pack()
root.mainloop()

17.1.4 El handlepad
ajusta la posición del "handle"
. Por ejemplo, orient=VERTICAL, la opción handlepad indica la distancia entre el handle en la "línea divisoria" y el extremo izquierdo. Si orient=HORIZONTAL, la distancia es la distancia entre el mango y el extremo superior. La distancia predeterminada es de 8 píxeles.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,
                  sashrelief=tk.SUNKEN,
                  width=240,handlepad=30)
left=tk.Text(b1,height=5,width=5)
b1.add(left)
right=tk.Text(b1,height=5,width=5)
b1.add(right)
b1.pack()
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1.5 handlesize
define el tamaño del identificador. El tamaño predeterminado es de 8 píxeles.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,
                  sashrelief=tk.SUNKEN,
                  width=240,handlepad=30,
                  handlesize=20)
left=tk.Text(b1,height=5,width=5)
b1.add(left)
right=tk.Text(b1,height=5,width=5)
b1.add(right)
b1.pack()
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1.6 altura
define la altura del panel. Si esta opción no está definida, la altura del panel está determinada por el componente secundario más grande.

import tkinter as tk
from tkinter import ttk
root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,
                  sashrelief=tk.SUNKEN,
                  width=240,height=200)
left=tk.Text(b1,height=5,width=5)
b1.add(left)
right=tk.Text(b1,height=5,width=5)
b1.add(right)
b1.pack()
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1.7 opaqueresize
establece el efecto de arrastre. Si opaqueresize=True, se admite el efecto de arrastre, es decir, el tamaño de los subcomponentes en el panel cambia con el cambio del divisor. Si opaqueresize=False, el tamaño del subcomponente solo cambiará cuando se suelte el botón del mouse, es decir, no habrá efecto de arrastre.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,sashrelief=tk.SUNKEN,
                  width=240,opaqueresize=False)
left=tk.Text(b1,height=5,width=5)
b1.add(left)
right=tk.Text(b1,height=5,width=5)
b1.add(right)
b1.pack()
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1.8 orient
define la dirección en la que se distribuyen los paneles. Hay HORIZONTAL (distribución horizontal) y VERTICAL (distribución vertical).
17.1.9 relieve
especifica el estilo del borde. Ver descripción en la Sección 3.3.5.
17.1.10 sashcursor
ajusta el estilo del cursor del separador.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,
                  sashrelief=tk.SUNKEN,
                  width=240,sashcursor='spider')
left=tk.Text(b1,height=5,width=5)
b1.add(left)
right=tk.Text(b1,height=5,width=5)
b1.add(right)
b1.pack()
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1.11 sashpad
establece el tamaño del espacio a ambos lados del divisor, que es la distancia al subcomponente. El valor predeterminado es 0.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,sashrelief=tk.SUNKEN,
                  width=240,sashpad=20)
left=tk.Text(b1,height=5,width=5)
b1.add(left)
right=tk.Text(b1,height=5,width=5)
b1.add(right)
b1.pack()
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1.12 sashrelief
establece el estilo 3D del divisor. Disponible en: PLANO, HUNDIDO, ELEVADO, RANURADO o CABALLETE. Si es FLAT, no se mostrará ninguna línea divisoria, porque es igual que el fondo.
17.1.13 sashwidth
Establece el ancho del separador.

import tkinter as tk
from tkinter import ttk

root=tk.Tk()
root.geometry('320x240')
b1=tk.PanedWindow(showhandle=True,sashrelief=tk.SUNKEN,
                  width=240,sashwidth=20)
left=tk.Text(b1,height=5,width=5)
b1.add(left)
right=tk.Text(b1,height=5,width=5)
b1.add(right)
b1.pack()
root.mainloop()

Resultado:
inserte la descripción de la imagen aquí
17.1.14 showhandle
Si mostrar el controlador de ajuste. Se muestra Showhandle=True, de lo contrario no se muestra.

17.1.15 ancho
define el ancho del control del marco de la ventana. Si no existe este parámetro, el ancho del control de panel se determina según el ancho del componente secundario.

Supongo que te gusta

Origin blog.csdn.net/weixin_42272768/article/details/100809210
Recomendado
Clasificación