用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 界面的更多相关文章

  1. 【QT】利用pyqt5实现简单界面

    Topic: 利用pyqt5编写简单界面Env:win10 + Pycharm2018 + Python 3.6.8Date: 2019/4/29 by hw_Chen2018            ...

  2. python+pycharm+PyQt5 图形化界面安装教程

    python图形化界面安装教程 配置环境变量 主目录 pip所在目录,及script目录 更新pip(可选) python -m pip install --upgrade pip ps:更新出错一般 ...

  3. pyqt5简单登陆界面

          登陆界面姓名输入错误会弹出错误信息.正确就会弹出第二个窗体. # -*- coding:utf-8 -*- import sys from PyQt5.QtWidgets import Q ...

  4. pyqt5实现注册界面

    __author__ = 'sign_in' import sys from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import * clas ...

  5. pyqt5实现注册界面并获得文本框内容

    获取框里面的内容,有一个BUG,搞了好久才搞定. __author__ = 'ayew'import sysfrom PyQt5.QtCore import*from PyQt5.QtWidgets ...

  6. PyQt5系列教程(二)利用QtDesigner设计UI界面

    软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 PyCharm 5.0.1 前言 在PyQt5系列教程的第一篇http://blog.csdn.net/dj ...

  7. 使用notepad++进行格式转换

    由于历史原因,导致Windows.Unix/Linux.Mac三者之间,对于文本中所用回车换行符,表示的方法,都不一样.这就导致了很多人都会遇到回车换行符的困惑,同时需要在不同格式间进行转换. 1)查 ...

  8. PyQt5实时汇率查询

    用PyQt5实现了界面,使用urllib实时抓取ip138.com网站的汇率信息. import sys import urllib import urllib.request from PyQt5. ...

  9. Java Hello World源代码notepad++版

    Notepad++中写Java Hello World代码并运行,步骤如下: 1. 在E:\CodeDemo\Java文件夹下(你也可以选择自己的文件夹)新建一个txt文本文件. 如果没有NotePa ...

随机推荐

  1. vbox挂载共享文件夹

      版权 挂载共享文件夹很简单,有2种方法,1是自动挂载,2是手动挂载. 一.自动挂载步骤: 1,把想共享的文件夹设置为共享. 2,在virtualbox界面对虚拟机设置共享文件夹,如下图.

  2. PyCharm搭配github错误处理

    ssh -T git@github.com 验证时 报错Could not open a connection to your authentication agent. 删除前面生成的.ssh文件 ...

  3. day03 爬虫基础

    一.爬虫原理1.互联网:由一堆网络设备把一台台计算机互联到一起称之为互联网2.互联网建立的目的:传递与共享数据3.上网的全过程普通用户: 打开浏览器---->往目标站点发送请求---->获 ...

  4. 源码都没调试过,怎么能说熟悉 redis 呢?

    一:背景 1. 讲故事 记得在很久之前给初学的朋友们录制 redis 视频课程,当时结合了不少源码进行解读,自以为讲的还算可以,但还是有一个非常核心的点没被分享到,那就是源码级调试, 对,读源码还远远 ...

  5. Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1)

    考场上只做出来四道,第二天一早就写出来了E,蛮绝望的. A Finding Sasuke 水构造 #include <cstdio> #include <algorithm> ...

  6. PHP实现页面静态化的简单方法分享

    为什么要页面静态化? 1.动态文件执行过程:语法分析-编译-运行 2.静态文件,不需要编译,减少了服务器脚本运行的时间,降低了服务器的响应时间,直接运行,响应速度快:如果页面中一些内容不经常改动,动态 ...

  7. RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation

    问题 在用pytorch跑生成对抗网络的时候,出现错误Runtime Error: one of the variables needed for gradient computation has b ...

  8. 白话科普,10s 了解 API

    作为一名又拍云的技术支持工程师,小拍每天都会接收到很多客户的提问.这其中,有很多客户会问:"小拍,请问云存储上传除了使用控制台的文件管理和 FTP 工具之外,有没有其他的途径进行上传呢?&q ...

  9. adb命令如何获取appPackage和appActivity的信息

    如何获取appPackage和appActivity的信息,这里有一个极为实用的命令:adb shell dumpsys activity |find "mFocusedActivity&q ...

  10. 公钥、私钥、SSL/TLS、会话密钥、DES【转载】

    原文链接:https://www.cnblogs.com/thbCode/p/5829719.html 一,公钥私钥1,公钥和私钥成对出现2,公开的密钥叫公钥,只有自己知道的叫私钥3,用公钥加密的数据 ...