PyQt5--QFileDiaglog

2020-01-19 11:21:19 浏览数 (1)

代码语言:javascript复制
 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_())

0 人点赞