PyQt5学习记录(六):QFileDialog

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)        


读取选定的文件名,并将文件的内容设置为文本编辑小部件的文本内容。

运行效果图:

PyQt5学习记录(六):QFileDialog_第1张图片
运行之后效果
PyQt5学习记录(六):QFileDialog_第2张图片
选中文件之后效果

你可能感兴趣的:(PyQt5学习记录(六):QFileDialog)