Mam małą aplikację, która używa DrawingArea
, aby narysować prostą mapę przy użyciu PyGObject
i GTK3
.Jak narysować GdkPixbuf przy użyciu GTK3 i PyGObject
załadować Pixbuf
użyciu
from gi.repository import Gtk, GdkPixbuf
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size("logo.png", 25, 25)
a następnie spróbuj wyciągnąć go w DrawingArea
„s wyciągnąć sygnał zdarzenia
def draw(self, widget, context):
window = widget.get_window()
ctx = window.cairo_create()
ctx.set_source_pixbuf(pixbuf, 0, 0)
ale pojawia się komunikat o błędzie
"AttributeError: 'cairo.Context' object has no attribute 'set_source_pixbuf'"
Jeśli poprawnie czytam Gtk2 to Gtk3 migration guide, powinno to działać. Co robię źle?
Czy jesteś pewien, że dostajesz coś rozciągliwej z powrotem get_window ? – stark
Tak, otrzymuję obiekt ' obiekt' 'wstecz ', więc widget DrawingArea jest realizowany. Wydaje mi się, że nie rozumiem, jak działa pixbufs w Gtk3. –
gnirx