QFileDialog是一个对话框,允许用户选择文件或目录。可以为打开和保存选择文件。
下面是源码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/11/1 下午3:36
# @Author : hukezhu
# @Site :
# @File : 1101-02-QFileDialog.py
# @Software: PyCharm
"""
在这个例子中,我们选择一个带有QFileDialog并显示其内容在QTextEdit
"""
from PyQt5.QtWidgets import (QMainWindow, QTextEdit,QAction,QFileDialog,QApplication)
from PyQt5.QtGui import QIcon
import sys
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.textEdit = QTextEdit()
self.setCentralWidget(self.textEdit)
self.statusBar()
openFile = QAction(QIcon('open.png'),'Open',self)
openFile.setShortcut('Ctrl + O')
openFile.setStatusTip('Open new File')
openFile.triggered.connect(self.showDialog)
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(openFile)
self.setGeometry(300,300,350,300)
self.setWindowTitle('File dialog')
self.show()
def showDialog(self):
fname = QFileDialog.getOpenFileName(self,'Open file','/home')
if fname[0]:
f = open(fname[0],'r')
with f :
data = f.read()
self.textEdit.setText(data)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
该示例显示一个菜单栏,居中设置文本编辑控件和状态栏。菜单项显示QFileDialog是用来选择一个文件。文件的内容被加载到文本编辑小部件中。
我们弹出QFileDialog,在getopenfilename()方法第一个参数是标题。第二个参数指定对话框工作目录。默认情况下,文件筛选器被设置为所有文件(*).
fname = QFileDialog.getOpenFileName(self, 'Open file', '/home')
if fname[0]:
f = open(fname[0], 'r')
with f:
data = f.read()
self.textEdit.setText(data)
读取选定的文件名,并将文件的内容设置为文本编辑小部件的文本内容。
运行效果图: