0

次のテスト アプリケーションを使用して PGM ファイルを表示しようとしています。このコードは PNG ファイルでは機能しますが、PGM では機能しません。

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import Image
import ImageQt

class MyView(QGraphicsView):
    def __init__(self):
        QGraphicsView.__init__(self)

        self.scene = QGraphicsScene(self)
        self.setScene(self.scene)

        img = Image.open('test.pgm') # works with 'test.png' 
        self.imgQ = ImageQt.ImageQt(img)
        pixmap = QPixmap.fromImage(self.imgQ)
        self.scene.addPixmap(pixmap)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    view = MyView()
    view.show()
    sys.exit(app.exec_())

QGraphicsView 内で PGM ファイルを表示するにはどうすればよいですか?

4

2 に答える 2

0

QImage は PGM ファイルの読み取りをサポートしています。img が正しくロードされていることを確認しましたか?

ファイルが間違っているか、名前のタイプミスか、パーミッションが間違っている可能性があります

于 2012-07-24T17:19:24.920 に答える
0

PIL を使用して画像を開き、QImage に変換してから、それを QPixmap に変換しているようです。

PGM を QPixmap に直接ロードして PIL を回避できない理由はありますか?

交換する

img = Image.open('test.pgm') # works with 'test.png' 
self.imgQ = ImageQt.ImageQt(img)
pixmap = QPixmap.fromImage(self.imgQ)
self.scene.addPixmap(pixmap)

pixmap = QPixmap('test.pgm')
self.scene.addPixmap(pixmap)

あなたのために働くはずです。

于 2012-07-25T08:17:28.517 に答える