lista desplegable python gtk pygtk widget

python - desplegable - pygtk



¿Qué combinación de widgets GTK usar para la columna desplegable de widgets? (2)

  • Un sinfín de widgets en una columna: suena como un GtkVBox.
  • Barra de desplazamiento vertical: coloque su VBox en una GtkScrolledWindow.
  • Estiramiento horizontal: Esto requiere establecer las propiedades apropiadas para VBox, ScrolledWindow y sus otros widgets. Al menos en Glade, los valores predeterminados parecen manejarlo en su mayoría (probablemente querrás cambiar la política de la barra de desplazamiento de ScrolledWindow).

Ahora el truco. Si solo haces lo que he enumerado arriba, el contenido del VBox intentará cambiar el tamaño verticalmente así como también horizontalmente, y no obtendrás tu barra de desplazamiento. La solución es colocar tu VBox en un GtkViewport.

Entonces la jerarquía final es ScrolledWindow (Viewport (VBox (widgets))).

Estoy trabajando con PyGTK, tratando de encontrar una combinación de widgets que hagan lo siguiente:

  • Permítanme agregar un sinfín de widgets en una columna
  • Proporcione una barra de desplazamiento vertical para llegar a los que se ejecutan en la parte inferior
  • Ajuste el ancho de los widgets para llenar el espacio horizontal disponible cuando se cambie el tamaño de la ventana

Gracias. Soy nuevo en GTK.


Lo que dijo Steve en el código:

vbox = gtk.VBox() vbox.pack_start(widget1, 1, 1) ## fill and expand vbox.pack_start(widget2, 1, 1) ## fill and expand vbox.pack_start(widget3, 1, 1) ## fill and expand swin = gtk.ScrolledWindow() swin.add_with_viewport(vbox)