Portál AbcLinuxu, 8. května 2025 02:07
GtkWarning: gtk_widget_set_events: assertion `!GTK_WIDGET_REALIZED (widget)' failed drawing_area.set_events(gtk.gdk.EXPOSURE_MASKchyba ukazuje na řádek, kde se snažím nastavit události:
drawing_area.set_events(gtk.gdk.EXPOSURE_MASK | gtk.gdk.LEAVE_NOTIFY_MASK | gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.POINTER_MOTION_HINT_MASK)Podařilo se někomu napsat kreslící aplikaci za použití Gladu a pythonu? Příklad kódu by nebyl? Díky
> Try to connect to signal_realize, and do add_events there.
> Also, for motion event and for signal_realize use after flag = false
> when connecting.
> Syntax like: signal().connect( sigc::mem_fun( object, &mem_fun ), false );
>
Ale nerozumim tomu, neodpustím si neodpustitelné "Pomoc!"
kus mého kódu:
... drawing_area.connect("motion_notify_event",self.motion_notify_event) drawing_area.connect("button_press_event", self.button_press_event) ... drawing_area.set_events(gtk.gdk.EXPOSURE_MASK | gtk.gdk.LEAVE_NOTIFY_MASK | gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.POINTER_MOTION_HINT_MASK) ...
Díky
Nastav obsluhu signálů i masku událostí přímo v Gladu (obrázek) a po načtení XML souboru připoj signály (příklad):
xml = gtk.glade.XML("platno.glade", "window") xml.signal_autoconnect(locals())
__init__(self): self.menu_tree = gtk.glade.XML(gladexml, "menu1") self.damenu = self.menu_tree.get_widget("menu1") def on_delete_one_activate(self,widget,event): print "TADY" print event #self.digitizedLine.pop()
self.menu_tree = gtk.glade.XML(gladexml, "menu1") self.settings_tree.signal_autoconnect(self) self.damenu = self.menu_tree.get_widget("menu1")
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.