Я подумал, что попробую обновить программу, найденную в Интернете ( Сигналы и события в PyGTK ), иллюстрирующую, как переопределить сигнал в подклассе. Вот моя версия:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GObject
class PyApp(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.set_size_request(200, 150)
self.set_position(Gtk.WindowPosition.CENTER)
self.show_all()
self.connect("destroy", Gtk.main_quit)
@GObject.SignalOverride
def configure_event(self, *args):
pass
def do_configure_event(self, event):
title = "%s, %s" % (event.x, event.y)
self.set_title(title)
Gtk.Window.do_configure_event(self, event)
PyApp()
Gtk.main()
Я получаю
TypeError: событие аргумента: ожидался Gdk.EventConfigure, но получил gi.overrides.Gdk.Event
из строки с вызовом super's do_configure_event. Есть идеи, что я делаю не так? Я использую PyGObject 3.29.2.dev0 и Python 3.7.0.