0

こんにちは、python 2.7.3 で python gtk スクリプトを使用しようとしています。Linux (X11 の下) では、イメージをディスクから pixbufs にロードする必要があります。

ただし、python は、開こうとしているファイルの種類に関係なく、glib.GError:「画像ファイル形式を認識できませんでした」を返します。例: と: pixbuf = gtk.gdk.pixbuf_new_from_file( filename )

gtk.gdk.pixbuf_get_formats() を実行すると、返された辞書のリストに、読み込もうとした形式が .png、.ppm、.jpg とリストされています。

ただし、gtk.gdk.pixbuf_get_file_info( filename ) を試すと、None が返されます。

Gimp などの他の GTK ベースのプログラムは、これらの同じ画像を問題なくロードします。ディスクからアイコンをロードしないが、ボタンを描画する gtk スクリプトなどは問題なく動作します。

この誤動作の原因をどのように検索しますか?

ある種の MIME タイプのファイルがありませんか?

別の方法でロードを実行できる他の gtk 関数呼び出しを使用する代替パスはありますか?

4

1 に答える 1

0

これは私にとってはうまくいきます:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import gtk

def win_with_image():
    pixbuf = gtk.gdk.pixbuf_new_from_file("photo.png")
    print pixbuf
    win = gtk.Window(gtk.WINDOW_TOPLEVEL)
    image = gtk.Image()
    image.set_from_pixbuf(pixbuf)
    win.add(image)
    win.connect("destroy", gtk.main_quit)
    win.show_all()

if __name__ == '__main__':
    win_with_image()
    gtk.main()

これがうまくいかない場合は、次のことを試してください。

  • Google を起動してエラーを入力し、2 番目のリンク ( http://aptosid.com/index.php?name=PNphpBB2&file=viewtopic&t=2246 ) を選択します。通常、これはほとんどの場合に役立ちます。
  • libglib を再インストールする
  • gtk をインストールします (おそらくいくつかのグラフィカル ライブラリ - libpng、libjpeg、fe)
  • python/gtk パッケージを再インストールします
  • 壊れたパッケージ リポジトリを修正する
  • ファイルのパーミッションを変更する
于 2013-07-09T16:06:54.973 に答える