Python GTK+ 3 中的可编辑标签?
Editable label in Python GTK+ 3?
我是 GTK 编程新手。我想要一个可以编辑其文本的标签小部件,有点像这样:https://docs.gtk.org/gtk4/class.EditableLabel.html.
问题是我不知道如何实现它。我知道 Gtk.Button
有一个 set_label()
功能,但我不知道如何使用它来制作可编辑标签。
您可以使用 Gtk.Entry 来做到这一点,您可以 set_editable
基于“某事”。带有复选按钮的示例如下所示:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
def on_editable_toggled(button, entry):
value = button.get_active()
entry.set_editable(value)
entry.set_sensitive(value)
win = Gtk.Window()
win.connect("destroy", Gtk.main_quit)
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
win.add(vbox)
entry = Gtk.Entry()
entry.set_text("Hello World")
vbox.pack_start(entry, True, True, 0)
check_editable = Gtk.CheckButton(label="Editable")
check_editable.connect("toggled", on_editable_toggled, entry)
check_editable.set_active(True)
vbox.pack_start(check_editable, True, True, 0)
win.show_all()
Gtk.main()
它看起来不像标签,但您可以使用 Gtk CSS styling 更改背景和边框颜色,使其在设置为不可编辑时看起来像标签。
我是 GTK 编程新手。我想要一个可以编辑其文本的标签小部件,有点像这样:https://docs.gtk.org/gtk4/class.EditableLabel.html.
问题是我不知道如何实现它。我知道 Gtk.Button
有一个 set_label()
功能,但我不知道如何使用它来制作可编辑标签。
您可以使用 Gtk.Entry 来做到这一点,您可以 set_editable
基于“某事”。带有复选按钮的示例如下所示:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
def on_editable_toggled(button, entry):
value = button.get_active()
entry.set_editable(value)
entry.set_sensitive(value)
win = Gtk.Window()
win.connect("destroy", Gtk.main_quit)
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
win.add(vbox)
entry = Gtk.Entry()
entry.set_text("Hello World")
vbox.pack_start(entry, True, True, 0)
check_editable = Gtk.CheckButton(label="Editable")
check_editable.connect("toggled", on_editable_toggled, entry)
check_editable.set_active(True)
vbox.pack_start(check_editable, True, True, 0)
win.show_all()
Gtk.main()
它看起来不像标签,但您可以使用 Gtk CSS styling 更改背景和边框颜色,使其在设置为不可编辑时看起来像标签。