質問: Gtk.Gdk.pixbuf_new_from_file("~/Dektop/GTK/images/test1-fix.jpg") ### 補足情報(FW/ツールのバージョンなど) https://github.com/enesates/PyOpenCV/blob/master/pyopencv.py https://python-gtk-3-tutorial.readthedocs.io/en/latest/iconview.html?highlight=gdk.pixbuf ここの2つを元にプログラムを書きました。
回答: ``` from gi.repository.GdkPixbuf import Pixbuf import os pix = Pixbuf.new_from_file(os.path.expanduser("~/Dektop/GTK/images/test1-fix.jpg")) ``` 2点ほど間違いがあります。 PyGTK(GTK+2.0)とPyGObject+GTK(GTK+3.0)は別物 PythonのGTKモジュールは、2.0と3.0とでは別物と思ってください。 PyGTKは2.0のモジュールですので、「PyGTK」とか、「import pygtk」とか書かれているものは参考になさらない方が良いかと思います。 (あえて違うとわかっていて参考にするならば良いですが) パスに「~」は使えない。 ホームディレクトリを示す「~」は、bashのコマンド入力時に使用できますが、基本的にはプログラムなどでファイル名を指定する際には使用できないと考えたほうがいいです。 (cv2.imreadでエラーにならないという事は、OpenCVは使えるのでしょうけど、あくまで例外です) 幸い、pythonのosモジュールには「os.path.expanduser」という「~」を適切なものに置き換えるメソッドがありますので、使うのであれば上記のようにすべきです。