1 # -*- coding:utf-8 -*- 2 ''' 3 Created on Sep 17, 2018 4 5 @author: SaShuangYiBing 6 7 Comment: 8 ''' 9 import sys 10 from PyQt5.QtGui import QIcon 11 from PyQt5.QtWidgets import QApplication,QMainWindow,QFileDialog,QTextEdit,QAction 12 13 class New_test(QMainWindow): 14 def __init__(self): 15 super().__init__() 16 self.initUI() 17 18 def initUI(self): 19 self.textEdit = QTextEdit() 20 self.setCentralWidget(self.textEdit) 21 self.statusBar() 22 23 openFile = QAction(QIcon('exit.png'),'Open',self) 24 openFile.setShortcut('Crtl+O') 25 openFile.setStatusTip('Open new file') 26 openFile.triggered.connect(self.showdiaglog) 27 28 menubar = self.menuBar() 29 fileMenu = menubar.addMenu('&File') 30 fileMenu.addAction(openFile) 31 32 self.setGeometry(300,300,350,300) 33 self.setWindowTitle('File Diaglog') 34 self.show() 35 36 def showdiaglog(self): 37 try: 38 fname = QFileDialog.getOpenFileName(self,'Open file','/home') 39 40 if fname[0]: 41 with open(fname[0],'r',encoding='utf-8') as f: # 在Python3中使用open时后面需要带上编码方式,否则易引起打开非utf-8编码字符时会报错 42 data = f.read() 43 self.textEdit.setText(data) 44 except Exception as e: 45 print (e) 46 47 if __name__ == '__main__': 48 app = QApplication(sys.argv) 49 ex = New_test() 50 sys.exit(app.exec_())