Я хотел бы удалить мигающий курсор из поля ввода после того, как пользователь нажал клавишу «Ввод».
Я думаю, что правильный способ - вызвать событие фокусировки (см. Следующие ссылки).
- Gtk.Widget - do_focus_out_event (событие)
- EventFocus
Это пример кода. Я перепробовал много вариантов, а также систематически искал Inte rnet, но не смог найти решение.
class MySoftware(Gtk.Window):
def __init__(self):
# Create a new window
...
entryField.connect("activate", self.on_entry_activated)
#This function is called when the user hits the "Enter" key in the entry widget
def on_entry_activated(self, entry):
entryContent = entry.get_text()
# Here I would like to trigger the focus-out event
event = Gdk.EventFocus()
event.window = entry.get_window()
event.send_event = True
event.type = Gdk.EventType.FOCUS_CHANGE
event.in_ = False
entry.do_focus_out_event(self, event)
win = MySoftware()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()
Этот конкретный код вызывает ошибку ошибки сегментации. Другие варианты этого кода возвращают ошибку типа («... ожидается Gdk.EventFocus()
...»)