Etiqueta en Python GTK+ 3

Las etiquetas son el método principal para colocar texto no editable en las ventanas. Por ejemplo, la etiqueta se puede usar como un título colocado junto al widget de entrada. Algunas de las características importantes de la etiqueta son:

  • La selección de etiquetas se puede hacer usando Gtk.Label.set_selectable(). Las etiquetas seleccionables permiten al usuario copiar el contenido en el portapapeles. Las etiquetas contienen información útil para copiar, como mensajes de error que se pueden hacer como una etiqueta seleccionable.
  • La justificación del texto de la etiqueta y el ajuste de palabras son posibles mediante los métodos Gtk.Label.set_justify(), Gtk.Label.set_line_wrap()respectivamente.
  • Además, Gtk.Labeladmite hipervínculos en los que se puede hacer clic. El marcado de los enlaces se toma prestado de HTML, utilizando los hrefatributos a with y title. GTK+ muestra los enlaces de forma similar a como aparecen en los navegadores web, con texto subrayado y en color.
  • Los mnemotécnicos son los caracteres subrayados en la etiqueta, utilizados para la navegación con el teclado; se puede crear dando una string con un guión bajo antes del carácter mnemotécnico, como «_Geeks For Geeks» a la función Gtk.Label.set_text_with_mnemonic().

Para crear una etiqueta, siga los pasos a continuación:

  1. importar módulo GTK+ 3.
  2. Crear ventana principal.
  3. Crea una Caja.
  4. Implementar etiqueta.
  5. Botón Implementar.

Ejemplo :

import gi
  
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
  
   
class LabelWindow(Gtk.Window):
      
    def __init__(self):
        Gtk.Window.__init__(self, title ="Label Example")
          
        # Create Box
        hbox = Gtk.Box(spacing = 10)
        hbox.set_homogeneous(False)
        vbox_left = Gtk.Box(orientation = Gtk.Orientation.VERTICAL, 
                    spacing = 10)
        vbox_left.set_homogeneous(False)
        vbox_right = Gtk.Box(orientation = Gtk.Orientation.VERTICAL, 
                    spacing = 10)
        vbox_right.set_homogeneous(False)
   
        hbox.pack_start(vbox_left, True, True, 0)
        hbox.pack_start(vbox_right, True, True, 0)
          
        # Create label
        label = Gtk.Label("Normal label")
        vbox_left.pack_start(label, True, True, 0)
          
        # Create justified label
        # with multiple lines
        label = Gtk.Label("Example for "
                "Right-justified label.\n"
                "having multiple lines.")
        label.set_justify(Gtk.Justification.RIGHT)
        vbox_left.pack_start(label, True, True, 0)
   
        label = Gtk.Label(
            "Example for a line-wrapped label."
   
        )
        label.set_line_wrap(True)
        vbox_right.pack_start(label, True, True, 0)
   
        label = Gtk.Label(
            "Example for a line-wrapped filled label. "
        )
        label.set_line_wrap(True)
        label.set_justify(Gtk.Justification.FILL)
        vbox_right.pack_start(label, True, True, 0)
          
        # Create label markup
        label = Gtk.Label()
        label.set_markup(
            "To go to <b>Geeks</b> "
            "<small>For</small> <i>Geeks</i> "
            '<a href ="https://www.geeksforgeeks.org/" '
            'title ="">Click here</a>.'
        )
        label.set_line_wrap(True)
        vbox_left.pack_start(label, True, True, 0)
          
        # Create label mnemonic
        label = Gtk.Label.new_with_mnemonic(
            "_Press -> to click the right button to exit"
        )
        vbox_left.pack_start(label, True, True, 0)
        label.set_selectable(True)
          
        # Create Button
        button = Gtk.Button(label ="Exit")
        label.set_mnemonic_widget(button)
        vbox_right.pack_start(button, True, True, 0)
   
        self.add(hbox)
   
   
window = LabelWindow()
window.connect("destroy", Gtk.main_quit)
  
# Display the window.
window.show_all()
  
# Start the GTK + processing loop
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 *