思路:先使用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)