博客
关于我
PyQt5 学习笔记
阅读量:354 次
发布时间:2019-03-04

本文共 1627 字,大约阅读时间需要 5 分钟。

PyQt5是由一系列Python模块组成。超过620个类,6000函数和方法。能在诸如Unix、Windows和Mac OS等主流操作系统上运行。PyQt5有两种证书,GPL和商业证书。

PyQt5类分为很多模块,主要模块有: QtCore 包含了核心的非GUI的功能。主要和时间、文件与文件夹、各种数据、流、URLs、mime类文件、进程与线程一起使用。 QtGui 包含了窗口系统、事件处理、2D图像、基本绘画、字体和文字类。 QtWidgets QtMultimedia QtBluetooth QtNetwork...

import sysfrom PyQt5.QtWidgets import QApplication, QWidget

这里引入了PyQt5.QtWidgets模块,这个模块包含了基本的组件。

app = QApplication(sys.argv)

每个PyQt5应用都必须创建一个应用对象。sys.argv是一组命令行参数的列表。Python可以在shell里运行,这个参数提供对脚本控制的功能。

w.resize(250, 150)

resize()方法能改变控件的大小,这里的意思是窗口宽250px,高150px。

w.setWindowTitle('Simple')

我们给这个窗口添加了一个标题,标题在标题栏展示(虽然这看起来是一句废话,但是后面还有各种栏,还是要注意一下,多了就蒙了)。

w.show()

show()能让控件在桌面上显示出来。控件在内存里创建,之后才能在显示器上显示出来。

sys.exit(app.exec_())

最后,我们进入了应用的主循环中,事件处理器这个时候开始工作。主循环从窗口上接收事件,并把事件传入到派发到应用控件里。当调用exit()方法或直接销毁主控件时,主循环就会结束。sys.exit()方法能确保主循环安全退出。外部环境能通知主控件怎么结束。

exec_()之所以有个下划线,是因为exec是一个Python的关键字

self.initUI()

使用initUI()方法创建一个GUI。

带窗口图标

窗口图标通常是显示在窗口的左上角,标题栏的最左边。下面的例子就是怎么用PyQt5创建一个这样的窗口。

# 自己准备一个web.pngself.setGeometry(300, 300, 300, 220)self.setWindowTitle('Icon')self.setWindowIcon(QIcon('web.png'))

 最后一个方法是添加了图标。先创建一个QIcon对象,然后接受一个路径作为参数显示图标。

QToolTip.setFont(QFont('SansSerif', 10))

这个静态方法设置了提示框的字体,我们使用了10px的SansSerif字体。

self.setToolTip('This is a QWidget widget')

调用setTooltip()创建提示框可以使用富文本格式的内容。

一、Qt5_QMovie

有些时候,我们需要在界面上显示动画,简单的动画如gif格式,这种格式的图片无法定义为QPixmap或者QImage的实例,所以就需要我们使用QMovie来进行实例化。

二、MainWindow

Qt中的顶层窗口称为MainWindow,属于类QMainWindow,QMainWindow也是继承于QWidget。通过子类化QMainWindow可以创建一个应用程序的窗口。

MainWindow的结构分为五个部分:菜单栏(Menu Bar)、工具栏(Toolbars)、停靠窗口(Dock Widgets)、状态栏(Status Bar)和中央窗口(Central Widget)。可以窗体设计中,用下面的图形表示之

三、QT setupUi

在Qt窗体设计中,可以调用setupUi()函数初始化窗体。

 

转载地址:http://xdfr.baihongyu.com/

你可能感兴趣的文章
NCNN中的模型量化解决方案:源码阅读和原理解析
查看>>
NCNN源码学习(1):Mat详解
查看>>
nc命令详解
查看>>
NC综合漏洞利用工具
查看>>
ndarray 比 recarray 访问快吗?
查看>>
ndk-cmake
查看>>
NdkBootPicker 使用与安装指南
查看>>
ndk特定版本下载
查看>>
NDK编译错误expected specifier-qualifier-list before...
查看>>
Neat Stuff to Do in List Controls Using Custom Draw
查看>>
Necurs僵尸网络攻击美国金融机构 利用Trickbot银行木马窃取账户信息和欺诈
查看>>
Needle in a haystack: efficient storage of billions of photos 【转】
查看>>
NeHe OpenGL教程 07 纹理过滤、应用光照
查看>>
NeHe OpenGL教程 第四十四课:3D光晕
查看>>
Neighbor2Neighbor 开源项目教程
查看>>
neo4j图形数据库Java应用
查看>>
Neo4j图数据库_web页面关闭登录实现免登陆访问_常用的cypher语句_删除_查询_创建关系图谱---Neo4j图数据库工作笔记0013
查看>>
Neo4j图数据库的介绍_图数据库结构_节点_关系_属性_数据---Neo4j图数据库工作笔记0001
查看>>
Neo4j图数据库的数据模型_包括节点_属性_数据_关系---Neo4j图数据库工作笔记0002
查看>>
Neo4j安装部署及使用
查看>>