Label (Python) Marta Maria Casetti mmcasetti@gmail.com 2012 Sebastian Pölsterl sebp@k-d-w.org 2012 Un widget que muestra una cantidad pequeña o mediana de texto Daniel Mustieles daniel.mustieles@gmail.com 2011 - 2017 Nicolás Satragno nsatragno@gmail.com 2012 - 2013 Jorge González jorgegonz@svn.gnome.org 2011 Etiqueta

Una etiqueta sencilla

Código usado para generar este ejemplo from gi.repository import Gtk import sys class MyWindow(Gtk.ApplicationWindow): # constructor for a Gtk.ApplicationWindow def __init__(self, app): Gtk.Window.__init__(self, title="Welcome to GNOME", application=app) self.set_default_size(200, 100) # create a label label = Gtk.Label() # set the text of the label label.set_text("Hello GNOME!") # add the label to the window self.add(label) class MyApplication(Gtk.Application): def __init__(self): Gtk.Application.__init__(self) def do_activate(self): win = MyWindow(self) win.show_all() def do_startup(self): Gtk.Application.do_startup(self) app = MyApplication() exit_status = app.run(sys.argv) sys.exit(exit_status)

Otra manera de obtener lo que se tiene en el ejemplo es crear la etiqueta como una instancia de otra clase y añadirle la instancia de MyWindow en el método do_activate(self):

Las líneas de texto resaltadas indican que el código es diferente al del fragmento anterior.

# a class to define a window class MyWindow(Gtk.ApplicationWindow): def __init__(self, app): Gtk.Window.__init__(self, title="Welcome to GNOME", application=app) self.set_default_size(200, 100) # a class to define a label class MyLabel(Gtk.Label): def __init__(self): Gtk.Label.__init__(self) self.set_text("Hello GNOME!") class MyApplication(Gtk.Application): def __init__(self): Gtk.Application.__init__(self) def do_activate(self): # create an instance of MyWindow win = MyWindow(self) # create an instance of MyLabel label = MyLabel() # and add it to the window win.add(label) # show the window and everything on it win.show_all()
Métodos útiles para un widget «Label»

Puede encontrar una explicación de cómo trabajar con cadenas en GTK+ en la .

set_line_wrap(True) rompe líneas si el texto de la etiqueta excede el tamaño del widget.

set_justify(Gtk.Justification.LEFT) (o Gtk.Justification.RIGHT, Gtk.Justification.CENTER, Gtk.Justification.FILL) establece la alineación de las líneas en el texto de la etiqueta respecto de sí. El método no tiene efecto en una etiqueta de una sola línea.

Para decorar el texto se puede usar set_markup("texto"), donde "texto" es un texto en el lenguaje de marcación Pango. Un ejemplo:

label.set_markup("Text can be <small>small</small>, <big>big</big>, " "<b>bold</b>, <i>italic</i> and even point to somewhere " "on the <a href=\"http://www.gtk.org\" " "title=\"Click to find out more\">internet</a>.")
Referencias de la API

En este ejemplo se usa lo siguiente:

GtkLabel

GtkWindow