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 | 对话框窗口的基类 |