如何使用PyQt显示多页TIFF

时间:2015-12-10 22:39:36

标签: python pyqt tiff

我需要使用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()

2 个答案:

答案 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