PyQtでローカルピクチャまたはドキュメントを開き、同じコントロールに表示する

883 ワード

アイデア:QFileDialogを使用してファイルセレクタを開き、osを通過します.path方式はファイルの接尾辞名を判断し、接尾辞名がピクチャの接尾辞名である場合、Qpixmap方式を使用してピクチャを開き、setPixmapで表示する.接尾辞名が画像接尾辞名でない場合はread関数で画像を開きsetTextで文字を表示します
    def getFiles(self):
        #   QFileDialog
        dlg=QFileDialog()
        #          
        dlg.setFileMode(QFileDialog.AnyFile)
        #    
        dlg.setFilter(QDir.Files)

        if dlg.exec_():
            #         ,     
            filenames=dlg.selectedFiles()
            f=open(filenames[0],'r')
            #             ,  Pixmap    
            if (os.path.splitext(filenames[0])[-1] == ".png"):
             png = QtGui.QPixmap(filenames[0]).scaled(self.label.width(), self.label.height())
             self.label.setPixmap(png)
            else:
                with f:
                    data=f.read()
                    self.label.setText(data)