0
def setPixData(self,data):
    print(data) #this print the image file name correctly e.g asdfghj.jpg
    img=QtGui.QImage(QtCore.QCoreApplication.applicationDirPath ()+"/temp/"+data)
    pix=QtGui.QPixmap.fromImage(img)
    self.driver_ui.pix.setPixmap(pix)

これにより、開発コードから実行すると、イメージが正しく読み込まれます。cx_freeze でフリーズして最終的なインストール先ディレクトリにインストールすると、イメージがロードされません。画像は指定されたパスにありますが。

フルパスを凍結バージョンにハードコーディングしようとしましたが、まだうまくいきません。f.write()上記のコードの 1 行おきに a を配置しましたが、すべてエラーなしで実行されました。QImagetrue を返すので、問題の原因だと思いましたisNull()

cx_freezeによって追加されていない場合、問題が発生する可能性がありますQImage.cx_freezeによって例外がスローさf.write()れ、次の行で実行されません. 私はここで迷っています。

注: これは Python の Windows GUI アプリです。

4

1 に答える 1

0

間違ったファイル パスを指定している可能性があります。正しいファイルパスを指定しないと、ファイルがどこかに存在するという事実はQImage の役に立ちません。

于 2012-11-18T09:58:08.527 に答える