1 Qt了解
- 跨平台
C++
图形用户界面应用程序开发框架; - 既可以开发
GUI
程序,也可用于开发非GUI
程序; Qt
开发的GUI
程序的界面和当前操作系统相同;- 用
Qt
开发的程序的跨平台模式是源代码级的。1.1 支持的平台
MS/Windows - 95、98、NT4.0、ME、2000、XP 、 Vista、Win7、win8、win2008、win10
Unix/X11 -Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其它很多X11平台
Macintosh -Mac OS X
Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台,Windows CE、Symbian、Symbian^3、Symbian Anna、Symbian Belle、MeeGo、haiku-os。
1.2 Qt Creator
Qt Creator
是一个用于Qt
开发的轻量级跨平台集成开发环境;- 提供专为支持跨平台开发而设计的集成开发环境 (
IDE
); - 确保首次接触Qt框架的开发人员能迅速上手和操作。
2 PyQt5
PyQt5
是基于图形程序框架Qt5
的Python
语言实现;PyQt5文档地址:https://www.riverbankcomputing.com/static/Docs/PyQt5/。
2.1 PyQt5主要模块
以下是主要的模块,可以从官方了解到其它的内容:
模块 | 说明 |
---|---|
QtCore |
核心非GUI 功能,被用于处理程序中涉及的时间、文件、目录、数据类型、文本流、链接、QMimeData 、线程或进程等对象 |
QtGui |
基本图形功能的类,如窗口集、事件处理、2D图形、基本的图像和界面、字体和文本类等 |
QtWidgets |
一整套UI 元素控件,用于建立符合系统风格的Classic 界面,可在安装时选择是否使用此功能 |
QtMultimedia |
一套类库,用于处理多媒体事件,通过调用API 接口访问摄像头、语音设备、收发消息(Radio Functionality )等 |
QtBluetooth |
处理蓝牙活动的类库,包括扫描设备、连接、交互等行为 |
QtNetwork |
网络编程的类库,提供TCP/IP及UDP的C/S 代码集合 |
QtPositioning |
获取位置信息,比如卫星、无线网、文字信息等 |
Enginio |
构建客户端的应用程序库,运行时访问Qt Cloud 服务器托管的应用程序 |
QtWebSockets |
一组类程序,用于实现WebSocket 协议 |
QtWebKit |
实现基于WebKit2 的网络浏览器的类库 |
QtWebKitWidgets |
一组类库,用于实现一种由Widgets 包构建的、基于WebKit1 的网络浏览器 |
QtXml |
用于处理XML 的类库,为SAX 和DOM API 的实现提供了函数 |
QtSvg |
一组类库,为显示矢量图形文件的内容提供了函数 |
QtSql |
数据库对象的接口 |
QtTest |
单元测试,调试PyQt5 应用程序 |
QtHelp |
创建和查看可查找的文档的类 |
QtOpenGL |
使用OpenGL 库来渲染3D和2D图形 |
QtXmlPatterns |
对XML 和自定义数据模型的Xquery 与XPath 的支持 |
QtDesigner |
使用PyQt 扩展Qt Designer |
Qt |
将所有模块中的类综合到一个单一的模块中 |
uic |
处理.ui 文件 |
2.2 PyQt5主要类
PyQt5 API
拥有620
多个类和6000
个函数;- 以下是主要的类和说明:
类 | 说明 |
---|---|
QObject |
顶部类(Top Class ),是所有PyQt 对象的基类 |
QPaintDevice |
所有可绘制的对象的基类 |
QApplication |
管理图形用户界面应用程序的控制流和主要设置 |
QWidget |
用户界面对象的基类 |
QFrame |
有框架的窗口控件的基类 |
QMainWindow |
有菜单栏、锚接窗口(如工具栏)和状态栏的主应用程序窗口 |
QDialog |
最普通的顶级窗口 |
2.3 重要类的继承关系
PyQt 5
中重要的类及其继承关系:2.4 常用控件
| 控件 |说明 |
|--|--|
|QLabel
| 显示文本或图像 |
|QLineEdit
|一个单页面的单行文本编辑器 |
|QTextEdit
| 一个单页面的多行文本编辑器 |
|QPushButton
|命令按钮 |
|QRadioButton
| 单选按钮和一个文本或像素映射标签 |
|QCheckBox
| 带文本标签的复选框|
|QspinBox
| 允许用户选择一个值,要么通过按向上/向下键增加/减少当前显示值,要么直接将值输入到输入框中 |
|QScrollBar
| 水平的或垂直的滚动条 |
|QSlider
| 垂直的或水平的滑动条|
|QComboBox
| 组合按钮,用于弹出列表 |
|QMenuBar
|横向菜单栏 |
|QStatusBar
| 适合呈现状态信息的水平条,通常放在QMainWindow
的底部|
|QToolBar
|工具栏,可以包含多个命令按钮,通常放在QMainWindow
的顶部 |
|QListView
| 显示和控制可选的多选列表,可以设置ListMode或IconMode
|
|QPixmap
|在绘图设备上显示图像,通常放在QLabel
或QPushButton
类中 |
|Qdialog
|对话框窗口的基类 |