2012-04-23 18 views
1

gtk 2.xに示すようにGdkPixbuf.Pixbuf.new_from_data()を使用しようとしていて、7つの引数を渡しています。しかし、それは私に9つの引数を渡す必要があるというエラーを私に与える。GdkPixbuf.PixbufDestroyNotify - NotImplementedError - python gtk3

私が今やっていることはgtk2.xで働いていたことです。だから私は渡す必要がある他の2つの議論を考え出した。引数の

http://developer.gimp.org/api/2.0/gdk-pixbuf/gdk-pixbuf-creating.html

http://developer.gimp.org/api/2.0/gdk-pixbuf/gdk-pixbuf-refcounting.html#GdkPixbufDestroyNotify

一つのタイプGdkPixbuf.PixbufDestroyNotifyです。私はこれをする方法を知らない。

私はipythonで助け(GdkPixbuf.PixbufDestroyNotfiy)を試みていますが、エラーが発生しています。

エラー:NotImplementedError。

self.img_pixbuf = GdkPixbuf.Pixbuf.new_from_data(self.img.tostring(), 
               GdkPixbuf.Colorspace.RGB, 
               False, 
               self.img.depth, 
               self.img.width, 
               self.img.height, 
               self.img.width*self.img.nChannels) 

#Here my self.img is cv2.cv.iplimage object (OpenCV iplimage) 

私は、次のエラーを取得しています:

/home/jay/<ipython console> in <module>() 

/usr/lib/python2.7/dist-packages/gi/module.pyc in __getattr__(self, name) 
    241     return registry[key] 
    242 
--> 243   return getattr(self._introspection_module, name) 
    244 
    245  def __dir__ (self): 

/usr/lib/python2.7/dist-packages/gi/module.pyc in __getattr__(self, name) 
    189    wrapper = info.get_value() 
    190   else: 
--> 191    raise NotImplementedError(info) 
    192 
    193   self.__dict__[name] = wrapper 

NotImplementedError: <gi.CallbackInfo object (PixbufDestroyNotify) at 0x0x8df5b6c> 

ここに問題がある可能性がありますか?

答えて

1

PyGObjectでは、DestroyNotify関数を処理する必要はありません。 APIに公開されているものがある場合、これはバグです。それをbugzilla.gnome.orgに報告してください。

+0

これはバグですか?私はここで何か間違っていませんか?とにかくバグが報告された。 https://bugzilla.gnome.org/show_bug.cgi?id=674691 – Froyo

+0

バグレポートから、それは簡単に修正できないと開発者が言っているようですが、彼は回避策を提案しています。 – ptomato

+0

メモリ管理のためにCでDestroyNotify関数が必要なので、バグだと思います。しかし、PyGObjectではメモリ管理が自動的に行われます。 DestroyNotify関数は自動的にシーンの裏側で提供され、Python APIでは公開されません。そうではないので、APIは壊れています。 – ptomato

関連する問題