# 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 - 2020
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()

# Métodos ú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