PyQt5是用来创建Python GUI应用程序的工具包。作为一个跨平台的工具包。pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。pyqt5是双重许可。开发者可以在GPL和商业许可之间进行选择。
在PyQt中编写UI界面可以直接通过代码来实现,也可以通过Qt Designer来完成。Qt Designer的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现了开发的便捷。Qt Designer中的操作方式十分灵活,通过拖拽的方式放置控件可以随时查看控件效果。Qt Designer生成的.ui文件(实质上是XML格式的文件)也可以通过pyuic5工具转换成.py文件。
Qt Designer随PyQt5-tools包一起安装,其安装路径在 “Python安装路径\Lib\site-packages\pyqt5-tools”下。
若要启动Qt Designer可以直接到上述目录下,双击designer.exe打开Qt Designer;或将上述路径加入环境变量,在命令行输入designer打开;或在PyCharm中将其配置为外部工具打开。
(env_rqalpha) [root@anaconda anaconda]# pip install pyqt5 pyqt5-tools
Collecting pyqt5
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 101] Network is unreachable')': /packages/45/32/341fa5b9fc010ff4e520efe7cdbad24e61890230cf4eb12c871f512ee456/PyQt5-5.15.0-5.15.0-cp35.cp36.cp37.cp38-abi3-manylinux2014_x86_64.whl
Downloading PyQt5-5.15.0-5.15.0-cp35.cp36.cp37.cp38-abi3-manylinux2014_x86_64.whl (76.6 MB)
01
—
Pyqt5模块
pyqt5的类别分为几个模块,包括以下:
QtCore
QtGui
QtWidgets
QtMultimedia
QtBluetooth
QtNetwork
QtPositioning
Enginio
QtWebSockets
QtWebKit
QtWebKitWidgets
QtXml
QtSvg
QtSql
QtTest
QtCore:包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
QtGui包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。
qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类。
QtMultimedia包含的类来处理多媒体内容和API来访问相机和收音机的功能。
Qtbluetooth模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。
Qtpositioning包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。
Enginio模块实现了客户端库访问Qt云服务托管的应用程序运行时。
Qtwebsockets模块包含实现WebSocket协议类。
QtWebKit包含一个基于Webkit2图书馆Web浏览器实现类。
Qtwebkitwidgets包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。
QtXml包含与XML文件的类。这个模块为SAX和DOM API提供了实现。
QtSvg模块提供了显示SVG文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。
QtSql模块提供操作数据库的类。
QtTest包含的功能,使pyqt5应用程序的单元测试
02
—
qtdesigner使用
功能界面如下:
菜单栏:
在主窗口,双击菜单栏上的在这里输入,输入文字,然后按回车键可以生成菜单。
选取组件,然后选择layout:
使用qtdesigner的流程:
1、将一个窗口 控件拖入窗口中并放置在大致正确的位置上。
2、对于需要交互引用的窗口控件,指定一个名字,对于需要微调的窗口控件,设置对应的属性。
3、重复步骤1、2,直到所需的窗口控件都放到了窗口上。
4、如果有需要,在窗口控件之间可以用VH,HS,Hline,Vline隔开。
5、选择需要布局的窗口控件,使用布局管理器或者切分窗口对他们进行布局。
6、重复步骤5,直到所有的窗口控件和分隔符都布局好为止。
7、单击窗口,并使用布局管理器对其进行布局。
8、为窗口的标签设置伙伴关系。
9、如果按键次序有问题,则需要设置窗口的tab顺序。
10、在适当的地方为内置的信号和槽建立信号和槽连接。
11、预览窗口,并检查所有的内容是不是如设想工作。
12、设置窗口的对象名(在类中会用到这个名字),窗口的标题并进行保存。
13、使用pyuic5编译窗口,然后根据需要生成对话框代码。
14、进行正常的编写代码的工作,即编写业务逻辑文件。
=======================================================
本号旨在打造一个小白Python学习社区。学习社区主要聚焦于Python编程、科学数据、可视化、机器学习、金融大数据量化等内容。学习内容一篇文章控制在15-20分钟左右。欢迎大家留言交流。
扫码关注公众号
======================================================