Ich versuchte, einen Grund GTK Container-Widget mit dem folgenden Code zu erstellen:Python Gtk3 die Erstellung von einfachem Containerobjekt mit Gtk.Container
from Gtk3Modules import *
from gi.repository.GObject import GObject
class Ex(Gtk.Container):
pass
btn = Gtk.Button("nss")
ab = Ex()
ab.add(btn)
w = Gtk.Window()
w.add(ab)
w.show_all()
, wenn ich dieses Skript starten, erhalte ich die folgenden fatalen Fehler:
(example.py:2642): Gtk-WARNING **: GtkContainerClass::add not implemented for '__main__+Ex'
**
Gtk:ERROR:gtkwidget.c:12365:gtk_widget_real_realize: assertion failed: (!_gtk_widget_get_has_window (widget))
rlwrap: warning: python3 crashed, killed by SIGABRT (core dumped).
rlwrap itself has not crashed, but for transparency,
it will now kill itself with the same signal
warnings can be silenced by the --no-warnings (-n) option
Aborted (core dumped)
ist 'Gtk.Bin' das rudimentärste Objekt zum Hinzufügen eines einzelnen Kindes? Warum hast du 'Gtk.EventBox' nicht vorgeschlagen, weil es zum Hinzufügen eines einzelnen Kindes anstelle von' Gtk.Bin' verwendet werden kann, danke – Nomad
'Gtk.EventBox' ist eine Unterklasse von' Gtk.Bin' mit einigen zusätzlichen Funktionen. Upstream schlägt 'Gtk.Bin' vor: https://wiki.gnome.org/HowDoI/CustomWidgets – TingPing