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