Как нарисовать GdkPixbuf использование GTK3 и PyGObject

У меня есть небольшое приложение, которое использует DrawingAreaдля рисования простой карты с помощью PyGObjectи GTK3.

Я загружаю Pixbufс помощью

from gi.repository import Gtk, GdkPixbuf
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size("logo.png", 25, 25)

, а затем пытаюсь нарисовать его в сигнале события рисования DrawingArea

def draw(self, widget, context):
    window = widget.get_window()
    ctx = window.cairo_create()
    ctx.set_source_pixbuf(pixbuf, 0, 0)

, но получаю сообщение об ошибке

"AttributeError: 'cairo.Context' object has no attribute 'set_source_pixbuf'"

Если я читаю Руководство по переходу с Gtk2 на Gtk3 правильно, это должно работать. Что я делаю неправильно?

9
задан gnirx 22 April 2012 в 17:52
поделиться