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
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 重要类的继承关系
2.4 常用控件
| 控件 | 说明 |
|---|
QLabel | 显示文本或图像 |
QLineEdit | 一个单页面的单行文本编辑器 |
QTextEdit | 一个单页面的多行文本编辑器 |
QPushButton | 命令按钮 |
QRadioButton | 单选按钮和一个文本或像素映射标签 |
QCheckBox | 带文本标签的复选框 |
QspinBox | 允许用户选择一个值,要么通过按向上/向下键增加/减少当前显示值,要么直接将值输入到输入框中 |
QScrollBar | 水平的或垂直的滚动条 |
QSlider | 垂直的或水平的滑动条 |
QComboBox | 组合按钮,用于弹出列表 |
QMenuBar | 横向菜单栏 |
QStatusBar | 适合呈现状态信息的水平条,通常放在QMainWindow的底部 |
QToolBar | 工具栏,可以包含多个命令按钮,通常放在QMainWindow的顶部 |
QListView | 显示和控制可选的多选列表,可以设置ListMode或IconMode |
QPixmap | 在绘图设备上显示图像,通常放在QLabel或QPushButton类中 |
Qdialog | 对话框窗口的基类 |