Python_用PyQt5 建 notepad 界面
Posted hellangels333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_用PyQt5 建 notepad 界面相关的知识,希望对你有一定的参考价值。
用PyQt5建notepad界面
1 # -*-coding:utf-8 -*- 2 """ 3 简介:用PyQt5做一个对话框,有菜单(2个、有独立图标、快捷键)、提示栏(只有主窗口才有提示栏),退出时有二次确认 4 思路:引用并重构PyQt5里的方法 5 6 思考:PyQt5要求先建组件,再调用,但是可以将连接对象放在后面 7 """ 8 9 10 import sys 11 from PyQt5.QtWidgets import QApplication,QMainWindow,QAction,QMessageBox #引入组件库里的整体组件、主窗口、动作、弹出框(最末端,页面上层的,必须先处理) 12 from PyQt5.QtGui import QIcon 13 14 15 class myWin(QMainWindow): #新定义类一个类,继承并重构QMainWindow这个方法 16 def __init__(self): #这里固定不动 17 super().__init__() 18 self.initUI() #initUI() 这个方法重构 19 20 # 创建动作对象并设置 21 def initUI(self): 22 23 #动作------------------------------------------------------------ 24 #文件_新建 25 action_buliding=QAction(QIcon(\'1.ico\'),\'&新建(N)\',self) 26 action_buliding.setShortcut(\'Ctrl+N\') 27 action_buliding.setStatusTip(\'新建文本文件\') #提示语,默认没有 28 action_buliding.triggered.connect(self.open) #链接到打开动作------------ 29 #文件_打开 30 action_open=QAction(QIcon(\'1.ico\'),\'&打开(O)\',self) 31 action_open.setShortcut(\'Ctrl+O\') 32 action_open.triggered.connect(self.open) #链接到打开动作------------ 33 # 文件_保存 34 action_save = QAction(QIcon(\'1.ico\'), \'&打开(O)\', self) 35 action_save.setShortcut(\'Ctrl+O\') 36 action_save.triggered.connect(self.open) # 链接到打开动作------------ 37 # 文件_另存为 38 action_other_save = QAction(QIcon(\'1.ico\'), \'&另存为(A)\', self) 39 action_other_save.triggered.connect(self.open) # 链接到打开动作------------ 40 # 文件_页面设计 41 action_page_design = QAction(QIcon(\'1.ico\'), \'&页面设计\', self) 42 action_page_design.triggered.connect(self.open) # 链接到打开动作------------ 43 # 文件_打印 44 action_page_print = QAction(QIcon(\'1.ico\'), \'&打印\', self) 45 action_page_print.triggered.connect(self.open) # 链接到打开动作------------ 46 #文件_退出 47 action_close=QAction(QIcon(\'1.ico\'),\'&退出\',self) 48 action_close.setShortcut(\'A\') 49 action_close.setStatusTip(\'这是退出功能\') 50 action_close.triggered.connect(self.close) 51 52 #菜单栏------------------------------------------------------------------------- 53 menuBar=self.menuBar() 54 menufile=menuBar.addMenu(\'&文件(F)\') 55 menufile.addAction(action_buliding) #新建 56 menufile.addAction(action_open) #打开 57 menufile.addAction(action_save) #保存 58 menufile.addAction(action_other_save) #另存为 59 menufile.addAction(action_page_design) #页面设置 60 menufile.addAction(action_page_print) #打印 61 menufile.addAction(action_close) #退出 62 63 menuBar = self.menuBar() 64 menufile = menuBar.addMenu(\'&编辑(E)\') 65 menufile.addAction(action_open) 66 67 menuBar = self.menuBar() 68 menufile = menuBar.addMenu(\'&格式(O)\') 69 menufile.addAction(action_open) 70 71 menuBar = self.menuBar() 72 menufile = menuBar.addMenu(\'&查看(V)\') 73 menufile.addAction(action_open) 74 75 menuBar = self.menuBar() 76 menufile = menuBar.addMenu(\'&帮助(H)\') 77 menufile.addAction(action_open) 78 79 #(新增)创建工具栏------------------------------------------------------------------- 80 # toolbar=self.addToolBar("退出") 81 # toolbar.addAction(action_open***)#与上面的动作重复,需要换一个动作或临时注掉上面 82 83 84 # toolbar=self.addToolBar("退出") 85 # toolbar.addAction(action_close***)#与上面的动作重复,需要换一个动作或临时注掉上面 86 87 #设置状态栏 88 self.statusBar().showMessage(\'这个是状态栏,会实时显示正在进行额操作....\') 89 90 #设置窗口属性 91 self.setGeometry(100,300,400,400) #geometry 几何 92 self.setWindowTitle(\'新建文本文档\') 93 self.setWindowIcon(QIcon(\'1.ico\')) 94 self.show() #窗口展示方式 - 阻断进程,当有结束信号时再关闭 95 96 def closeEvent(self,event): #关闭 97 #获取消息框实例的值 98 msg=QMessageBox.question(self,\'退出警告\',\'你确认退出吗??\',QMessageBox.Yes | QMessageBox.No,QMessageBox.No) 99 #判定消息框的返回值 100 if msg==QMessageBox.Yes: 101 event.accept() 102 else: 103 event.ignore() 104 def open(self): 105 print(\'这里代指**动作\') 106 #主方法 107 if __name__==\'__main__\': 108 app=QApplication(sys.argv) 109 my=myWin() 110 sys.exit(app.exec_())
以上是关于Python_用PyQt5 建 notepad 界面的主要内容,如果未能解决你的问题,请参考以下文章