FontChooserWidget (výběr písma) s funkcí zpětného volání.
from gi.repository import Gtk
import sys
class MyWindow(Gtk.ApplicationWindow):
def __init__(self, app):
Gtk.Window.__init__(self, title="FontChooserWidget", application=app)
# Výběr písma
self.font_chooser = Gtk.FontChooserWidget()
# Výchozí písmo
self.font_chooser.set_font("Sans")
# Text pro náhled písma
self.font_chooser.set_preview_text(
"This is an example of preview text!")
# Napojí signál od výběru písma na funkci zpětného volání
self.font_chooser.connect("notify::font", self.font_cb)
# Přidá výběr psíma do okna
self.add(self.font_chooser)
# Funkce zpětného volání
def font_cb(self, event, user_data):
# Vypíše do terminálu
print("You chose the font " + self.font_chooser.get_font())
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)
Na řádku 16 je signál "notify::font"
od widgetu napojen na funkci zpětného volání font_cb()
pomocí widget.connect(signál, funkce zpětného volání)
. Podrobnější vysvětlení viz .
K nastavení písma, které je vybráno na počátku, použijte set_font(písmo)
(kde písmo
je název písma) nebo set_font_desc(písmo)
(kde písmo
je PangoFontDescription
).
K získání vybraného písma použijte get_font()
nebo get_font_desc()
.
Ke změně textu zobrazeného v oblasti s náhledem použijte set_preview_text()
.
V této ukázce se používá následující:
GtkFontChooserWidget