1.0--->刚开始看这里
PyQt5使用笔记
创建一个小窗口
import sys
from PyQt5.QtWidgets import * #程序实例化
app = QApplication(sys.argv) # #创建窗口对象 并显示
# win = QWidget()
# win.show() win = QWidget()
#使用resize()方法设置窗口的大小为450*150;
win.resize(450,120)
#使用move()方法,将窗口移动到显示器上x=0,y=300的位置;
win.move(600,300)
#为窗口设置了一个标题。
win.setWindowTitle('这是一个实例窗口')
win.show() # 确保程序的关闭
sys.exit(app.exec_())在类中实现上述功能
import sys
from PyQt5.QtWidgets import QApplication,QWidget class GUi():
def __init__(self):
self.initUI() def initUI(self):
self.win = QWidget()
self.win.setWindowTitle('这是一实例窗口') if __name__ == '__main__':
app = QApplication(sys.argv)
gui = GUi()
gui.win.show()
sys.exit(app.exec_())
用继承大的方法实现上列代码
import sys
from PyQt5.QtWidgets import QApplication,QWidget class GUi(QWidget):
def __init__(self):
super().__init__()
self.initUI() def initUI(self):
self.setWindowTitle('这是一个小窗口')
self.resize(400,400) if __name__ == "__main__":
app = QApplication(sys.argv)
gui = GUi()
gui.show()
sys.exit(app.exec_())
为窗口添加一点小小的功能
import sys
from PyQt5.QtWidgets import QMainWindow,QApplication class GUi(QMainWindow):
def __init__(self):
super().__init__()
self.initUI() def initUI(self):
self.setWindowTitle('这是一个测试')
self.resize(400,400)
# 设置状态消息栏文本
self.statusBar().showMessage('一个状态栏') if __name__ == '__main__':
app = QApplication(sys.argv)
gui = GUi()
gui.show()
sys.exit(app.exec_())
添加第一个按钮
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow,QAction class GUI(QMainWindow):
def __init__(self):
super().__init__()
self.iniUI() def iniUI(self):
self.setWindowTitle('测试1.0')
self.statusBar().showMessage('文本状态栏')
self.resize(600,600) #创建一个菜单栏
menu = self.menuBar()
#创建一个菜单按钮
file_menu = menu.addMenu('文件')
#创建一个行为
new_action = QAction('添加文件',self)
#添加一个行为到菜单
file_menu.addAction(new_action)
#更新状态栏文本
new_action.setStatusTip("新的文件") if __name__ == "__main__":
app = QApplication(sys.argv)
gui =GUI()
gui.show()
sys.exit(app.exec_())
完善菜单功能键
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow,QAction class GUI(QMainWindow):
def __init__(self):
super().__init__()
self.iniUI() def iniUI(self):
self.setWindowTitle('测试1.0')
self.statusBar().showMessage('文本状态栏')
self.resize(600,600) #创建一个菜单栏
menu = self.menuBar()
#创建两个菜单
file_menu = menu.addMenu("文件")
file_menu.addSeparator()
edit_menu = menu.addMenu("修改") #创建一个行为
new_action = QAction('新的文件',self)
#更新状态栏文本
new_action.setStatusTip("打开新的文件")
#添加一个行文到菜单
file_menu.addAction(new_action) #创建退出按钮
exit_action = QAction('退出',self)
#退出操作
exit_action.setStatusTip("点击这里退出程序")
#点击关闭程序
exit_action.triggered.connect(self.close)
#设置退出快捷键
exit_action.setShortcut("Ctrl+Q")
#添加退出行为到菜单上
file_menu.addAction(exit_action)
if __name__ == "__main__":
app = QApplication(sys.argv)
gui =GUI()
gui.show()
sys.exit(app.exec_())
1.0--->刚开始看这里的更多相关文章
- 《OOC》笔记(0)——为何要看这本书
<OOC>笔记(0)——为何要看这本书 <OOC>全名是<Object-oriented Programming with ANSI-C>,作者Axel-Tobia ...
- 『王霸之路』从0.1到2.0一文看尽TensorFlow奋斗史
0 序篇 2015年11月,Google正式发布了Tensorflow的白皮书并开源TensorFlow 0.1 版本. 2017年02月,Tensorflow正式发布了1.0.0版本,同时也标志 ...
- S0.0 计算机如何看东西
标签(空格分隔):数字图像处理 opencv 当我们用特定软件打开一张图片或者更改某些位图的格式为txt时,就会发现图像的本质不过就是一堆数据罢了. 采样 我们可以用相机采样到一幅二维图像,图像的分辨 ...
- 【HTTP】402- 深入理解http2.0协议,看这篇就够了!
本文字数:3825字 预计阅读时间:20分钟 导读 http2.0是一种安全高效的下一代http传输协议.安全是因为http2.0建立在https协议的基础上,高效是因为它是通过二进制分帧来进行数据传 ...
- Network Saboteur 分类: 搜索 POJ 2015-08-09 19:48 7人阅读 评论(0) 收藏
Network Saboteur Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10147 Accepted: 4849 Des ...
- Android 5.0 Lollipop初上手体验
在等了好几天还没有等到OTA升级提示,前天笔者给Nexus4线刷入了官方提供的Lollipop的镜像,在试用了这两天之后,现在总结下自己感觉很惊艳的地方和一些地方的吐槽.(点击图片可以查看大图) 1. ...
- DotNetOpenAuth搭建OAuth2.0
使用DotNetOpenAuth搭建OAuth2.0授权框架 标题还是一如既往的难取. 我认为对于一个普遍问题,必有对应的一个简洁优美的解决方案.当然这也许只是我的一厢情愿,因为根据宇宙法则,所有事物 ...
- Android6.0 init 深入分析
之前写过一篇关于android5.0 init的介绍,这篇博客是介绍android6.0init,之前有的代码介绍不详细.而且分析 解析init.rc那块代码也没有结合init.rc介绍. 一. ma ...
- 对Linux0.11 中 进程0 和 进程1分析
1. 背景 进程的创建过程无疑是最重要的操作系统处理过程之一,很多书和教材上说的最多的还是一些原理的部分,忽略了很多细节.比如,子进程复制父进程所拥有的资源,或者子进程和父进程共享相同的物理页面,拥有 ...
- 存储专栏:一句话说清RAID2.0
今天,西瓜哥来谈谈高端存储的一股势力,RAID 2.0,最近被华为HVS搞得风生水起,神奇的让人摸不着头脑.我还是从一个高端存储的江湖说起吧. 据说很久很久以前(别扔臭鸡蛋,讲故事都是这样的…),L ...
随机推荐
- 从零开始学安全(四十)●上传文件MIME类型绕过漏洞防御
MIME检测原理 服务端MIME类型检测是通过检查http包的Content-Type字段中的值来判断上传文件是否合法的. php示例代码: if($_FILES['userfile']['type' ...
- Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示
关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...
- 我的世界 ParaCraft 结合开源地图 OpenStreetMap 生成3D校园的方法简介
我的世界ParaCraft结合开源地图OpenStreetMap生成3D校园的方法简介 版本1.0 日期2019.2.3 作者Ray (82735589@qq.com) www.TimeGIS.com ...
- [转载]编写SQL语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数
[转载]编写SQL语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数 转载自:https://blog.csdn.net/one_money/article/details/56921 ...
- Odoo的模块和应用程序的区别和使用
一.模块(modules)和应用程序(application)的区别: 模块元件是Odoo应用程序的组成快.模块可以将新功能添加到Odoo,或改变现有功能.模块是一个包含名为__manifest__. ...
- 通过maven profile 打包指定环境配置
背景 最近换了个新公司接手了一个老项目,然后比较坑的是这个公司的项目都没有没有做多环境打包配置,每次发布一个环境都要手动的去修改配置文件.今天正好有空就来配置下. 解决这个问题的方式有很多,我这里挑选 ...
- docker部署postgresql时,data目录不生效的问题探究
今天用docker部署postgresql,用的是官方的镜像.结果挂载完 /var/lib/postgresql/data目录后,和容器里的目录其实并没有挂载成功. 母机上的目录并没有成功挂载到容器里 ...
- 【转】Dockerfile详解
Dockerfile详解 https://blog.csdn.net/wo18237095579/article/details/80540571 --------------------- 作者:大 ...
- Thermostat:双层存储结构的透明巨页内存管理机制
这是一篇由密歇根大学的Neha Agarwal 和 Thomas F. Wenisch,发表在计算机系统顶会ASLOS的论文,Thermostat: Application-transparent P ...
- ios copy和strong,浅拷贝和深拷贝
copy@property (nonatomic, copy) NSString *name;self.name = mutableString;这时,name对mutableString一个深拷贝, ...