下面主要以打開圖片顯示在Label中,還有打開文件.py,顯示在文本框中
""" 文件對話框: QFileDialog """ import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class QFileDialogDemo(QWidget): def __init__(self): super(QFileDialogDemo, self).__init__() self.initUI() def initUI(self): self.setWindowTitle("文本對話框演示") layout = QVBoxLayout() self.button1 = QPushButton('加載圖片') # 綁定加載圖片的功能 self.button1.clicked.connect(self.loadImage) layout.addWidget(self.button1) self.imageLabel = QLabel() layout.addWidget(self.imageLabel) self.button2 = QPushButton('加載文本文件') #綁定加載文本的功能 self.button2.clicked.connect(self.loadText) layout.addWidget(self.button2) self.contents = QTextEdit() layout.addWidget(self.contents) self.setLayout(layout) def loadImage(self): #打開對話框, "打開文件"(對話框的名字), '.'(打開當前的路徑), '圖像文件(*.jpg *.png)'(打開文件的格式) fname, _ = QFileDialog.getOpenFileName(self, "打開文件", '.', '圖像文件(*.jpg *.png)') self.imageLabel.setPixmap(QPixmap(fname)) # 根據路徑, 設置對應的圖片 def loadText(self): dialog = QFileDialog() dialog.setFileMode(QFileDialog.AnyFile) #設置能打開文件的格式 dialog.setFilter(QDir.Files) #設置為當前的路徑 if dialog.exec(): filenames = dialog.selectedFiles() #返回選擇文件的名字 # 打開文件, 將里面的文本顯示在文本框中 f = open(filenames[0], "r", encoding='utf-8') with f: data = f.read() #一次性讀取所有文件內容 self.contents.setText(data) if __name__ == "__main__": app = QApplication(sys.argv) main = QFileDialogDemo() main.show() sys.exit(app.exec_())