คือว่าผมจะทำโปรแกรมคล้ายๆ Photoshop คือเป็นการโหลดภาพขึ้นมาบน MDIArea ผ่าน Widget อันหนึ่ง
โดยผมเรียก MDI Subwindow จากฟังชั่น
{syntaxhighlighter brush: python} def bnLoadImageClicked(self):
imgFile = QtGui.QFileDialog.getOpenFileName(
self,
"Open Image File",
"D:/qtproject/ocr",
"ImCGraphicsViewage Files (*.jpg *.jpeg *.png)"
)
if imgFile :
subwin = QtGui.QMdiSubWindow()
curWidget = CImageWidget(subwin)
subwin.setWidget(curWidget)
subwin.setAttribute(QtCore.Qt.WA_DeleteOnClose)
self.maMain.addSubWindow(subwin)
curWidget.show()
curWidget.imgFile = imgFile
curWidget.loadImage() {/syntaxhighlighter}
ทีนี้ ฟังชั่น CImageWidget.loadImage() มีภาพขึ้นครับ
{syntaxhighlighter brush: python}
def loadImage(self):
self.gvImage.resetCachedContent()
#pixmap = QtGui.QPixmap(self.imgFile)
scene.addItem(QtGui.QGraphicsPixmapItem(pixmap))
self.gvImage.setScene(scene)
self.gvImage.show()
{/syntaxhighlighter}
แต่พอผมอยากให้โหลดภาพจาก PIL.Image กลับทำไม่ได้ครับ
{syntaxhighlighter brush: python}
def loadImage(self):
self.gvImage.resetCachedContent()
img = Image.open(str(self.imgFile))
scene = QtGui.QGraphicsScene(self.gvImage)
#scene.setSceneRect(self.gvImage.rect())
img2 = ImageQt.ImageQt(img)
img3 = QtGui.QImage(img2)
pixmap = QtGui.QPixmap.fromImage(img2)
#pixmap = QtGui.QPixmap(self.imgFile)
scene.addItem(QtGui.QGraphicsPixmapItem(pixmap))
self.gvImage.setScene(scene)
self.gvImage.show()
{/syntaxhighlighter}
ใครพอมีทางช่วยได้บ้างผมลองมาหลายวิธีแล้ว หรือต้องใช้ class อื่นๆ
Format ไม่รองรับหรือเปล่าครับ
ขึ้น Error ว่าไง