#-*- coding: UTF-8 -*-
'''
这个例子是一个窗口里有一个TextEdit控件,菜单项Open会显示用于选择文件的QtGui.QFileDialog对话框
选定文件的内容会显示到TextEdit控件中
'''
import sys
from PyQt5.QtWidgets import (QApplication ,QMainWindow ,QTextEdit ,
QAction ,QFileDialog )
from PyQt5.QtGui import QIcon
#示例窗体继承自QMainWindow,因为我们要将TextEdit控件置于窗体中央。
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.showDailog)
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(openFile)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('File dialog')
self.show()
def showDailog(self):
'''弹出QFileDialog对话框,第一个字符串参数是对话框的标题,
第二个指定对话框的工作目录,默认情况下文件筛选器会匹配所有类型的文件(*)'''
fname = QFileDialog.getOpenFileName(self, 'Open file', '/home')
if fname[0]:
f = open(fname[0], 'r')
with f:
#读取了选择的文件并将文件内容显示到了TextEdit控件。
date = f.read()
self.textEdit.setText(date)
if __name__ == "__main__":
app=QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())