我需要使用PyQt显示多页tiff文件
从互联网搜索中他们说Qt不支持
多页TIFF。
我的代码只显示第一页:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys
from PyQt4.QtGui import *
class Dialog(QDialog):
def __init__(self, parent = None):
super(Dialog, self).__init__(parent)
self.resize(1280, 1024)
masterLayout = QHBoxLayout(self)
mainLayout = QVBoxLayout()
self.pictureLabel = QLabel()
mainLayout.addWidget(self.pictureLabel)
self.status_Label = QLabel('100')
masterLayout.addLayout(mainLayout)
self.img_refresh()
def img_refresh(self):
imagem = QPixmap('image.tif')
myScaledPixmap = imagem.scaled(1280,1024)
self.pictureLabel.setPixmap(myScaledPixmap)
self.setWindowTitle('test')
def main():
app = QApplication(sys.argv)
form = Dialog()
form.show()
app.exec_()
if __name__ == '__main__':
main()
答案 0 :(得分:0)
您可以使用也支持多页tiff的tifffile包。它们可以转换为numpy数组,可以使用qimage2ndarray转换为QImages,这些数组可以转换为QPixmaps。
有关tifffile包的信息: https://pypi.python.org/pypi/tifffile
qimage2ndarray包的文档: http://hmeine.github.io/qimage2ndarray/
答案 1 :(得分:0)
你可以使用写得很好的MultiPageTIFFViewerPyQt https://github.com/marcel-goldschen-ohm/MultiPageTIFFViewerPyQt/tree/master。