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_())
PyQt5_notepad界面

 

以上是关于Python_用PyQt5 建 notepad 界面的主要内容,如果未能解决你的问题,请参考以下文章

在 PYQT5 中创建全屏按钮

当我尝试在 python 中创建浏览器时出现错误

Python,pyqt5

[PYTHON]PyQt5 前置程序

怎么用notepad编译python

python 的第一个界面程序(PyQt5)