Python – Pila y StackSwitcher en GTK+ 3

A Gtk.Stackes un contenedor que permite la visibilidad de uno de sus hijos a la vez. Gtk.Stack no proporciona ningún acceso directo para que los usuarios cambien el elemento secundario visible. En cambio, el Gtk.StackSwitcherwidget se puede usar Gtk.Stackpara obtener esta funcionalidad.
En Gtk.Stacklas transiciones entre páginas se pueden hacer por medio de diapositivas o fundidos. Esto se puede controlar con Gtk.Stack.set_transition_type().

El Gtk.StackSwitcherwidget actúa como un controlador para un Gtk.Stack; muestra una fila de botones para cambiar entre las distintas páginas del widget de pila asociado. El contenido de los botones proviene de las propiedades secundarias del Gtk.Stack.

Siga los pasos a continuación:

  1. importar módulo GTK+ 3.
  2. Crear ventana principal.
  3. Pila de implementos.
  4. Botón Implementar.
  5. Implementar etiqueta.
  6. Implementar Stack Switcher.

Ejemplo :

import gi
# Since a system can have multiple versions
# of GTK + installed, we want to make 
# sure that we are importing GTK + 3.
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
  
  
class StackWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title ="Geeks for Geeks")
        self.set_border_width(10)
  
        # Creating a box vertically oriented with a space of 100 pixel.
        vbox = Gtk.Box(orientation = Gtk.Orientation.VERTICAL, spacing = 100)
        self.add(vbox)
  
        # Creating stack, transition type and transition duration.
        stack = Gtk.Stack()
        stack.set_transition_type(Gtk.StackTransitionType.SLIDE_LEFT_RIGHT)
        stack.set_transition_duration(1000)
  
        # Creating the check button.
        checkbutton = Gtk.CheckButton("Yes")
        stack.add_titled(checkbutton, "check", "Check Button")
  
        # Creating label .
        label = Gtk.Label()
        label.set_markup("<big>Hello World</big>")
        stack.add_titled(label, "label", "Label")
  
        # Implementation of stack switcher.
        stack_switcher = Gtk.StackSwitcher()
        stack_switcher.set_stack(stack)
        vbox.pack_start(stack_switcher, True, True, 0)
        vbox.pack_start(stack, True, True, 0)
  
  
win = StackWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()

Producción :

Publicación traducida automáticamente

Artículo escrito por amalchandranmv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *