描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302614890
对于Python的可GUI界面开发来说,Python自带的可视化编程模块的功能较弱,PySide是跨平台应用程序框架Qt的Python绑定,Qt是跨平台C 图形可视化界面应用开发框架,自推出以来深受业界盛赞。PySide由Qt公司自己维护,允许用户在Python环境下利用Qt开发大型复杂GUI界面。用Python简洁的语法调用PySide6的各种可视化控件的类,可以快速搭建用户的图形界面,PySide6开发的GUI程序可以运行在所有主要操作系统上。PySide支持LGPL协议,可以使用动态链接的形式开发闭源程序,可以以任何形式(商业的、非商业的、开源的、非开源等)发布应用程序。本书将详细介绍用PySide6进行GUI界面开发的方法,读者需要了解Python语言的基本用法,限于篇幅限制,本书不对Python基础知识进行介绍,与本书配套的Python基础知识可参考本书编者所著的《Python编程基础与科学计算》或《Python基础与PyQt可视化编程详解》。
本书详细介绍了PySide6提供的各种可视化类进行可视化界面编程。本书对各种类做了细致的介绍,对类的方法、槽函数和信号都了详细的说明,并配以实例。可视化编程方面主要内容包括PySide6的框架、基础类、常用控件、高级控件、主窗口、对话框、窗口美化、事件、绘图、文件操作、数据库、数据可视化、打印支持、多媒体等。本书讲解更全面细致,实例也很有针对性,非常适合用Python进行可视化编程的初学者,由于本书对类的各种方法介绍比较详细,也可以作为有一定基础的人作为参考手册,在忘记类的方法的时候查阅。
第1章PySide6 GUI编程基础
1.1Python开发环境搭建
1.1.1Python和PySide简介
1.1.2Python开发环境的建立
1.1.3Python开发环境使用基础
1.2PySide6窗口的运行机理
1.2.1关于QWidget窗口
1.2.2QWidget窗口的初始化类
1.2.3QWidget窗口的创建
1.3PySide6可视化编程架构
1.3.1界面用函数来定义
1.3.2界面用类来定义
1.3.3界面用模块来定义
1.3.4界面与逻辑的分离
1.4QApplication的方法
1.5用Qt Designer设计界面
1.5.1窗口界面设计
1.5.2ui文件编译成py文件
1.5.3ui文件转换后的编程
1.6信号与槽
1.6.1内置信号与内置槽的连接
1.6.2内置信号与自定义槽函数
1.6.3自定义信号
1.7控件之间的关系
1.7.1控件的布局
1.7.2控件的Tab键顺序
1.7.3控件之间的伙伴关系
1.8资源文件
1.8.1资源文件的创建和使用
1.8.2qrc文件编译成py文件
1.9py文件的编译
第2章常用控件的用法
2.1GUI编程的常用类
2.1.1坐标点类QPoint和QPointF
2.1.2尺寸类QSize和QSizeF
2.1.3矩形框类QRect和QRectF
2.1.4页边距类QMargins和QMarginsF
2.1.5字体类QFont与实例
2.1.6颜色类QColor
2.1.7调色板类QPalette与实例
2.1.8图像类与实例
2.1.9图标类QIcon与实例
2.1.10光标类QCursor与实例
2.1.11地址类QUrl
2.2常用输入输出控件及用法
2.2.1标签控件QLabel与实例
2.2.2单行文本控件QLineEdit与实例
2.2.3多行文本控件QTextEdit与实例
2.2.4多行纯文本控件QPlainTextEdit
2.2.5数字输入控件QSpinBox和QDoubleSpinBox
2.2.6下拉列表框控件QComboBox与实例
2.2.7滚动条控件QScrollBar和滑块控件QSlider与实例
2.2.8仪表盘控件QDial
2.2.9进度条控件QProgressBar与实例
2.3按钮控件及用法
2.3.1抽象按钮QAbstractButton
2.3.2按压按钮控件QPushButton
2.3.3复选框按钮控件QCheckBox
2.3.4单选按钮控件QRadioButton
2.3.5按钮控件的综合应用实例
2.4日期时间类及相关控件
2.4.1日历类QCalendar
2.4.2日期类QDate
2.4.3时间类QTime
2.4.4日期时间类QDateTime
2.4.5定时器QTimer与实例
2.4.6日历控件QCalendarWidget
2.4.7液晶显示控件QLCDNumber与实例
2.4.8日期时间控件QDateTimeEdit与实例
2.5布局控件及用法
2.5.1表单布局QFormLayout与实例
2.5.2水平布局QHBoxLayout和竖直布局QVBoxLayout
2.5.3格栅布局QGridLayout与实例
2.5.4分割器控件QSplitter与实例
2.6容器控件及用法
2.6.1分组框控件QGroupBox
2.6.2框架控件QFrame与实例
2.6.3滚动区控件QScrollArea与实例
2.6.4切换卡控件QTabWidget与实例
2.6.5控件栈控件QStackedWidget与实例
2.6.6工具箱控件QToolBox与实例
2.7网页浏览控件
2.7.1网页浏览器控件QWebEngineView与实例
2.7.2网页QWebEnginePage与实例
第3章窗口和对话框
3.1窗口QWidget
3.1.1独立窗口
3.1.2窗口QWidget与实例
3.2菜单和动作
3.2.1菜单栏QMenuBar与实例
3.2.2菜单QMenu与实例
3.2.3动作QAction与实例
3.2.4自定义动作QWidgetAction的实例
3.3工具栏和状态栏
3.3.1工具栏QToolBar与实例
3.3.2工具按钮控件QToolButton与实例
3.3.3状态栏QStatusBar与实例
3.4主窗口及其专属控件
3.4.1主窗口QMainWindow与实例
3.4.2停靠控件QDockWidget
3.4.3多文档区QMdiArea和子窗口QMdiSubWindow与实例
3.4.4在Qt Designer中建立主窗口
3.5对话框窗口
3.5.1自定义对话框QDialog与实例
3.5.2字体对话框QFontDialog与实例
3.5.3颜色对话框QColorDialog
3.5.4文件对话框QFileDialog与实例
3.5.5输入对话框QInputDialog与实例
3.5.6信息对话框QMessageBox与实例
3.5.7错误信息对话框QErrorMessage
3.5.8进度对话框QProgressDialog与实例
3.5.9向导对话框QWizard和向导页与实例
3.6窗口风格和样式表
3.6.1窗口风格QStyle与实例
3.6.2样式表
第4章事件与事件的处理函数
4.1事件的类型与处理函数
4.1.1事件的概念与实例
4.1.2QEvent类
4.1.3event()函数与实例
4.1.4常用事件的处理函数
4.2鼠标事件和键盘事件
4.2.1鼠标事件QMouseEvent和滚轮事件QWheelEvent与实例
4.2.2键盘事件QKeyEvent
4.2.3鼠标拖放事件QDropEvent和QDragMoveEvent与实例
4.2.4拖拽类QDrag与实例
4.2.5上下文菜单事件QContextMenuEvent与实例
4.2.6剪贴板QClipboard
4.3窗口和控件的常用事件
4.3.1显示事件QShowEvent和隐藏事件QHideEvent
4.3.2缩放事件QResizeEvent和移动事件QMoveEvent
4.3.3绘制事件QPaintEvent
4.3.4进入事件和离开事件QEnterEvent
4.3.5焦点事件QFocusEvent
4.3.6关闭事件QCloseEvent
4.3.7定时器事件QTimerEvent与实例
4.4事件过滤和自定义事件
4.4.1事件的过滤与实例
4.4.2自定义事件与实例
第5章基于项和模型的控件
5.1基于项的控件
5.1.1列表控件QListWidget及其项QListWidgetItem与实例
5.1.2表格控件QTableWidget及其项QTableWidgetItem与实例
5.1.3树结构控件QTreeWidget及其项QTreeWidgetItem与实例
5.2数据模型基础
5.2.1Model/View机制与实例
5.2.2数据模型的类型
5.2.3数据项的索引QModelIndex
5.2.4抽象模型QAbstractItemModel
5.3常用数据模型和视图控件
5.3.1文本列表模型QStringListModel
5.3.2列表视图控件QListView与实例
5.3.3文件系统模型QFileSystemModel
5.3.4树视图控件QTreeView与实例
5.3.5标准数据模型QStandardItemModel
5.3.6表格视图控件QTableView与实例
5.4选择模型和代理控件
5.4.1选择模型QItemSelectionModel
5.4.2代理控件QStyledItemDelegate与实例
第6章QPainter和Graphics/View绘图
6.1QPainter绘图
6.1.1QPainter类与实例
6.1.2钢笔QPen的用法与实例
6.1.3画刷QBrush的用法与实例
6.1.4渐变色QGradient的用法与实例
6.1.5绘制几何图形
6.1.6绘制文本
6.1.7绘图路径QPainterPath的用法与实例
6.1.8填充与实例
6.1.9绘制图像与实例
6.1.10裁剪区域QRegion与实例
6.1.11坐标变换QTransform与实例
6.1.12视口、逻辑窗口与实例
6.1.13图形合成与实例
6.2Graphics/View绘图
6.2.1Graphics/View绘图框架介绍
6.2.2Graphics/View坐标系
6.2.3视图控件QGraphicsView与实例
6.2.4场景QGraphicsScene
6.2.5图项QGraphicsItem与实例
6.2.6标准图项与实例
6.3代理控件和图形控件
6.3.1代理控件QGraphicsProxyWidget与实例
6.3.2图形控件QGraphicsWidget
6.3.3图形控件的布局与实例
6.3.4图形效果与实例
第7章数据读写和文件管理
7.1数据读写的基本方法
7.1.1QIODevice类
7.1.2字节数组QByteArray
7.1.3QFile读写数据与实例
7.2用流方式读写数据
7.2.1文本流QTextStream与实例
7.2.2数据流QDataStream与实例
7.3临时数据的保存
7.3.1临时文件QTemporaryFile
7.3.2临时路径QTemporaryDir
7.3.3存盘QSaveFile
7.3.4缓存QBuffer与实例
7.4文件管理
7.4.1文件信息QFileInfo
7.4.2路径管理QDir与实例
7.4.3文件和路径监视器QFileSystemWatcher
第8章绘制二维图表
8.1图表视图控件和图表
8.1.1图表视图控件QChartView
8.1.2图表QChart与实例
8.2数据序列
8.2.1数据序列抽象类QAbstractSeries
8.2.2XY图与实例
8.2.3面积图与实例
8.2.4饼图与实例
8.2.5条形图与实例
8.2.6蜡烛图与实例
8.2.7箱线图与实例
8.2.8极坐标图与实例
8.3图表的坐标轴
8.3.1QAbstractAxis
8.3.2QValueAxis
8.3.3QLogValueAxis与实例
8.3.4QBarCategoryAxis与实例
8.3.5QCategoryAxis与实例
8.3.6QDateTimeAxis与实例
8.4图例与图例上的标志
8.4.1图例QLegend
8.4.2图例的标志QLegendMarker与实例
第9章音频和视频的播放与录制
9.1播放音频和视频
9.1.1播放器QMediaPlayer与实例
9.1.2音频输出和视频输出与实例
9.1.3音频播放QSoundEffect
9.1.4动画播放QMovie与实例
9.2录制音频和视频及拍照
9.2.1多媒体设备QMediaDevices
9.2.2音频接口QAudioInput和视频接口QCamera
9.2.3媒体捕获器QMediaCaptureSession与实例
9.2.4媒体格式QMediaFormat
9.2.5媒体录制QMediaRecorder与实例
9.2.6图像捕获QImageCapture与实例
9.2.7媒体元数据QMediaMetaData
第10章数据库操作
10.1SQL与数据库连接
10.1.1SQL
10.1.2SQLite数据库连接与实例
10.1.3MySQL数据库连接与实例
10.2PySide对数据库的操作
10.2.1数据库连接QSqlDatabase
10.2.2数据库查询QSqlQuery与实例
10.3数据库Model/View结构
10.3.1数据库查询模型QSqlQueryModel与实例
10.3.2数据库表格模型QSqlTableModel与实例
10.3.3关系表格模型QSqlRelationalTableModel与实例
第11章打印支持
11.1用打印机进行打印
11.1.1打印机信息QPrinterInfo
11.1.2打印机QPrinter及实例
11.1.3pdf文档生成器QPdfWriter与实例
11.2打印对话框和打印预览对话框
11.2.1打印对话框QPrintDialog与实例
11.2.2打印预览对话框QPrintPreviewDialog与实例
11.2.3打印预览控件QPrintPreviewWidget
随着信息社会的快速发展,人们越来越依赖于用计算机程序处理各种事情,小到电脑办公、上网发邮件、玩游戏,大到进行复杂的科学计算、性能预测等,这些都需要人们利用计算机开发语言编写各式各样的程序,来满足各种需求,减少工作量。
Python是一种跨平台的计算机程序设计语言,也是一种高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,越来越多的人开始使用Python进行软件开发。Python语言的语法简单,使用方便,用户不用考虑细枝末节,容易上手,对于初学计算机编程的人员来说,它是最值得推荐的计算机语言。Python有众多第三方程序包,通过pip命令可以直接安装使用,利用第三方程序包用Python语言能够快速搭建各式各样的程序。
对于Python的GUI开发来说,Python自带的可视化编程模块的功能较弱,PySide是跨平台应用程序框架Qt的Python绑定,Qt是跨平台C 图形可视化界面应用开发框架,自推出以来深受业界盛赞。PySide由Qt公司自己维护,允许用户在Python环境下利用Qt开发大型复杂GUI。用Python简洁的语法调用PySide6的各种可视化控件的类,可以快速搭建用户的图形界面,PySide6开发的GUI程序可以运行在所有主要操作系统上。PySide6支持LGPL协议,可以使用动态链接的形式开发闭源程序,可以以任何形式(商业的、非商业的、开源的、非开源的等)发布应用程序。本书详细介绍用PySide6进行GUI开发的方法,读者需要了解Python语言的基本用法,限于篇幅,本书不对Python基础知识进行介绍,与本书配套的Python基础知识可参考本书作者所著的《Python编程基础与科学计算》或《Python基础与PyQt可视化编程详解》。
本书主要内容如下: 第1章介绍PySide6的可视化编程框架、信号和槽的机制、在Qt Designer中进行界面设计以及窗体文件和资源文件转成Python的py文件的方法; 第2章介绍一些基础类、常用控件、容器控件和布局控件的方法、信号和槽函数; 第3章介绍窗口、主窗口对话框、菜单、工具栏和状态栏方面的内容; 第4章介绍PySide6的事件及事件处理函数方面的内容; 第5章介绍基于项和模型的控件,基于项和模型的控件属于高级控件; 第6章介绍QPainter绘图和Graphics/View机制绘图; 第7章介绍PySide6读写文本文件和二进制文件及文件操作方面的内容; 第8章介绍绘制二维数据图表,如折线图、散点图、条形图和极坐标图等; 第9章介绍播放、录制音频和视频及拍照方面的内容; 第10章介绍数据库操作方面的内容,可以用Model/View机制查询或修改常用关系型数据库; 第11章介绍打印支持方面的内容,可以将界面和文本内容打印到纸质介质或pdf文档上。
在本书编写时,Python的版本是3.10.2,PySide6的版本是6.2,由于开发语言仍在不断发展中,读者在使用本书的时候,Python和PySide6很可能发展到更高的版本,由于软件一般都有向下兼容的特点,因此本书所述内容不会影响正常的使用。本书在讲解内容时,在主要知识点上配有应用实例,这些应用实例可以起到画龙点睛的作用,读者可扫描下面的二维码下载本书实例的源代码。
本书由北京诺思多维科技有限公司组织编写,受作者水平与编写时间的限制,书中疏漏和错误在所难免,敬请广大读者批评指正。读者在使用本书的过程中,如有问题可通过邮箱forengineer@126.com与本书作者联系。
作者2022年3月
扫描二维码,下载本书应用实例的源代码。
本书实例源代码
评论
还没有评论。