का उपयोग करके एक GdkPixbuf को कैसे आकर्षित करें मेरे पास एक छोटा सा एप्लिकेशन है जो PyGObject
और GTK3
का उपयोग करके एक साधारण मानचित्र खींचने के लिए DrawingArea
का उपयोग करता है।GTK3 और PyGObject
मैं एक 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 to Gtk3 migration guide सही ढंग से पढ़ रहा हूं, तो यह काम करना चाहिए। मैं क्या गलत कर रहा हूँ?
def draw(self, widget, context):
Gdk.cairo_set_source_pixbuf(context, self.pixbuf, 0, 0)
context.paint()
एक सवाल अभी भी बना हुआ: यह काम करने के लिए पसंदीदा तरीका है
क्या आप वाकई get_window से कुछ drawable वापस हो रही है कर रहे हैं ? – stark
हां, मुझे 0xb71aab44 पर एक 'ऑब्जेक्ट बैक, इसलिए ड्रॉइंग एरिया विजेट एहसास हुआ है। मुझे लगता है कि जीटीके 3 में पिक्सबफ्स को कैसे आकर्षित करना है, इस बारे में एक नुकसान हुआ है। –
gnirx