文件对话框QFileDialog

it2025-04-18  9

介绍

QDialog类的子类主要有QMessageBox、QFileDialog、QFontDialog、QInputDialog等。

方法

方法描述getOpenFileName()返回用户所选择文件的名称,并打开该文件getSaveFileName()使用用户选择的文件名并保存文件setFileMode()可以选择的文件类型,枚举常量是:QFileDialog.AnyFile,任何文件QFileDialog.ExistingFile,已存在的文件QFileDialog.Directory,文件目录QFileDialog.ExistingFiles,已经存在的多个文件setFilter()设置过滤器,只显示过滤器允许的文件类型

QFileDialog的使用

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class filedialogdemo(QWidget): def __init__(self, parent=None): super(filedialogdemo, self).__init__(parent) layout = QVBoxLayout() self.btn = QPushButton("加载图片") self.btn.clicked.connect(self.getfile) layout.addWidget(self.btn) self.le = QLabel("") layout.addWidget(self.le) self.btn1 = QPushButton("加载文本文件") self.btn1.clicked.connect(self.getfiles) layout.addWidget(self.btn1) self.contents = QTextEdit() layout.addWidget(self.contents) self.setLayout(layout) self.setWindowTitle("File Dialog 例子") def getfile(self): fname, _ = QFileDialog.getOpenFileName(self, 'Open file', 'c:\\',"Image files (*.jpg *.gif)") self.le.setPixmap(QPixmap(fname)) def getfiles(self): dlg = QFileDialog() dlg.setFileMode(QFileDialog.AnyFile) dlg.setFilter( QDir.Files ) if dlg.exec_(): filenames= dlg.selectedFiles() f = open(filenames[0], 'r') with f: data = f.read() self.contents.setText(data) if __name__ == '__main__': app = QApplication(sys.argv) ex = filedialogdemo() ex.show() sys.exit(app.exec_())

使用展示

后记

文件对话框QFileDialog,又过去了一天。

最新回复(0)