Labels are the main method of placing non-editable text in windows. For example, label can be used as a title placed next to entry widget. Some of the important features of the label are -
Python3 1==
Output :

- The selection of labels can be done using
Gtk.Label.set_selectable(). Selectable labels allow the user to copy the contents to the clipboard. Labels contain useful information to copied such as error messages that can be made as a selectable label. - Label text justification and word-wrapping are possible by the methods
Gtk.Label.set_justify(),Gtk.Label.set_line_wrap()respectively. - Also,
Gtk.Labelsupports clickable hyperlinks. The markup for links is borrowed from HTML, using the a withhrefand title attributes. GTK+ renders links similar to the way they appear in web browsers, with colored, underlined text. - Mnemonics are the underlined characters in the label, used for keyboard navigation; can be created by giving a string with an underscore before the mnemonic character, such as "_Geeks For Geeks" to the function
Gtk.Label.set_text_with_mnemonic().
- import GTK+ 3 module.
- Create main window.
- Create a Box.
- Implement Label.
- Implement Button.
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()
