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