ビューに画像をセットする
2017/01/14
Python2.7.10, PySide1.2.2
こんな感じ
fp = u'test.jpg'
pixmap = QtGui.QPixmap(fp)
item = QtGui.QGraphicsPixmapItem(pixmap)
scene = QtGui.QGraphicsScene(self)
scene.addItem(item)
self.setScene(scene)
Windowsで書いてよく悩むのが、ファイルパスの文字コード。Qtに与えるときはUnicodeで、存在確認等の時はcp932。
QtGui.QPixmap(fp)
で間違った文字コードで与えても、ファイルが開けなくてもエラーを吐いてくれない。
# -*- coding: utf-8 -*-
import sys
from PySide import QtGui
class MyWidget(QtGui.QGraphicsView):
def __init__(self, *argv, **keywords ):
super(MyWidget,self).__init__(*argv,**keywords)
fp = u'test.jpg'
pixmap = QtGui.QPixmap(fp)
item = QtGui.QGraphicsPixmapItem(pixmap)
scene = QtGui.QGraphicsScene(self)
scene.addItem(item)
self.setScene(scene)
self.fitInView(scene.sceneRect(), QtCore.Qt.KeepAspectRatio)
def main():
app = QtGui.QApplication(sys.argv)
w = MyWidget()
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()