关于我们
书单推荐
新书推荐
|
Octave GUI开发实战 Octave为GNU项目下的开源软件,旨在解决线性和非线性数值计算问题。本书由浅入深,全面讲解基于Octave软件编写GUI应用的开发技术,帮助读者尽快掌握Octave GUI应用的技巧。 本书共8章,层次分明,将GUI与面向对象相结合,从基础到实战,内容循序渐进。本书提供大量实战内容,从经典GUI应用设计实战到系统设计实战,配合在项目中的开发方式,将大型GUI应用的开发过程化繁为简。 本书适合各种基础的读者,没有接触过GUI应用开发的读者可以通过本书快速入门,接触过GUI应用开发的读者也可以通过本书提升GUI应用的开发能力。 本书基于Octave软件编写GUI应用的开发技术,并突出编写开发的实战部分,使读者可以边学边练,更轻松地学会Octave GUI应用开发技术。 Octave作为一款先进的、开源的科学计算软件,可开发的应用适用于非常多的场景。在实际应用中,除了有以命令行方式操作的CLI应用外,还有以GUI方式操作的GUI应用。GUI应用拥有图形用户界面,可供用户通过可视化的交互操作控制应用运行,例如在CLI应用中输入的命令可以在GUI应用中用单击按钮的方式代替,因此GUI应用拥有操作方便和界面美观等优点,所以学会开发GUI应用对于软件开发者而言有非常重要的意义。
本书共8章,主要内容如下: 第1章讲解Octave在GUI应用开发方面的相关内容。 第2章讲解GUI的基本设计原理、面向对象设计理念、如何使用面向对象设计的思想设计GUI应用及老式类和新式类的技术要点。本章对于GUI设计具有前导作用,带领读者快速领会GUI设计的基本概念和基于Octave的GUI设计的实施方法。 第3章讲解通用句柄操作、和句柄组相关的函数及如何判断绘图句柄。
第5章讲解不同用途的GUI功能函数,包括用于生成特定功能的GUI窗口的功能函数及GUI应用的运行控制函数。GUI功能函数不限于和使用句柄控制的图形对象相关的函数,而更贴近于在Octave和操作系统之间直接进行GUI操作。本章要求读者对操作系统有一定程度的理解。 第6章讲解5个经典GUI应用的实战内容,包括计算器、记事本、日历、PDF阅读器及天气预报客户端,带领读者在经典中学习一般难度的GUI的设计与实现方法。这5个应用的实战内容在设计方法上各具代表性,每个应用需要注意的设计难点各有不同,因此它们没有严格的先后顺序,读者也可以按照自己需要的顺序进行阅读。
第8章讲解1个以多个GUI应用为客户端的分布式系统解决方案实战内容,在项目中带领读者学习现代系统的设计与实现、在多个GUI应用之间协同的数据处理和如何用GUI应用对接服务器端。GUI在现代系统中有着至关重要的作用,而现代系统在配合GUI后更可以简化用户的操作并改善使用体验。本章将重点放在系统的设计与实现上,目的是让读者更容易感受到在GUI背后的系统组件,进而更容易理解GUI操作的实际意义。
本书源代码 限于本人的水平和经验,书中难免存在疏漏之处,恳请专家与读者批评指正。
于红博,曾在某世界500强公司担任测试开发工程师,参与内部框架的维护和开发。主要涉及科学计算、图像处理、自动化系统设计、模式识别、神经网络等分支的算法设计和程序设计领域。在业余时间爱好编写、审阅及完善开源软件,对于开源软件的发展做出了一定的贡献。
第2章GUI与面向对象 2.1GUI设计原理 2.1.1GUI分类 2.1.2GUI控件 2.1.3原型设计 2.2面向对象设计理念 2.3老式类 2.4新式类 2.4.1类文件夹 2.4.2初始化一个类 2.4.3构造方法 2.4.4构造方法的返回值 2.4.5类方法 2.4.6继承 2.4.7实例变量中的字段 2.4.8字段索引 2.4.9字段赋值 2.4.10下标索引 2.4.11方法重载 2.4.12优先级函数 2.4.13运算符重载 2.4.14类的通用工具函数 2.5老式类和新式类的区别 第3章常用句柄操作 3.1通用句柄操作 3.1.1返回句柄 3.1.2句柄强制类型转换 3.1.3句柄复制 3.1.4获得句柄 3.1.5设置句柄 3.1.6查找非隐藏的句柄 3.1.7查找全部句柄 3.1.8重置句柄 3.1.9查找可见的图形 3.2句柄组 3.2.1创建句柄组 3.2.2增加句柄键参数 3.2.3绑定监听器 3.2.4解绑监听器 3.2.5连接句柄键参数 3.2.6连接轴对象范围 3.3判断绘图句柄 3.3.1判断图形句柄 3.3.2通过类型判断图形句柄 3.3.3判断图形句柄或Java 3.3.4判断坐标轴句柄 3.3.5判断图像句柄 第4章图形对象与句柄 4.1根对象与句柄 4.1.1根对象 4.1.2根对象句柄 4.1.3默认根对象属性
4.2.1图像对象 4.2.2图像对象句柄 4.2.3默认图像对象属性 4.3轴对象与句柄 4.3.1轴对象 4.3.2轴对象句柄 4.3.3默认轴对象属性 4.4图线对象与句柄 4.4.1图线对象 4.4.2图线对象句柄 4.4.3默认图线对象属性 4.5图例对象与句柄 4.5.1图例对象 4.5.2图例对象句柄 4.5.3默认图例对象属性 4.6文本对象与句柄 4.6.1文本对象 4.6.2文本对象句柄 4.6.3默认文本对象属性 4.7位图对象与句柄 4.7.1位图对象 4.7.2位图对象句柄 4.7.3默认位图对象属性 4.8补丁对象与句柄 4.8.1补丁对象 4.8.2补丁对象句柄 4.8.3默认补丁对象属性 4.9面对象与句柄 4.9.1面对象 4.9.2面对象句柄 4.9.3默认面对象属性 4.10光源对象与句柄 4.10.1光源对象 4.10.2光源对象句柄 4.10.3默认光源对象属性 4.11面板对象与句柄
4.11.2面板对象句柄 4.11.3默认面板对象属性 4.12按钮组对象与句柄 4.12.1按钮组对象 4.12.2按钮组对象句柄 4.12.3默认按钮组对象属性 4.13控制对象与句柄 4.13.1控制对象 4.13.2控制对象句柄 4.13.3默认控制对象属性 4.14表格对象与句柄 4.14.1表格对象 4.14.2表格对象句柄 4.14.3默认表格对象属性 4.15菜单对象与句柄 4.15.1菜单对象 4.15.2菜单对象句柄 4.15.3默认菜单对象属性 4.16上下文菜单对象与句柄 4.16.1上下文菜单对象 4.16.2上下文菜单对象句柄 4.16.3默认上下文菜单对象 4.17工具栏对象与句柄 4.17.1工具栏对象 4.17.2工具栏对象句柄 4.17.3默认工具栏对象属性 4.18工具栏按钮对象与句柄 4.18.1工具栏按钮对象
4.18.3默认工具栏按钮对象 4.19工具栏拨动开关对象与句柄 4.19.1工具栏拨动开关对象 4.19.2工具栏拨动开关对象 4.19.3默认工具栏拨动开关 4.20控制复选框对象与句柄 4.20.1控制复选框对象 4.20.2控制复选框对象句柄 4.20.3控制复选框对象属性 4.21控制输入框对象与句柄 4.21.1控制输入框对象 4.21.2控制输入框对象句柄 4.21.3控制输入框对象属性 4.22控制列表框对象与句柄 4.22.1控制列表框对象 4.22.2控制列表框对象句柄 4.22.3控制列表框对象属性 4.23控制下拉菜单对象与句柄 4.23.1控制下拉菜单对象 4.23.2控制下拉菜单对象 4.23.3控制下拉菜单对象
4.24.1控制按钮对象 4.24.2控制按钮对象句柄 4.24.3控制按钮对象属性 4.25控制单选框对象与句柄 4.25.1控制单选框对象 4.25.2控制单选框对象句柄 4.25.3控制单选框对象属性 4.26控制滚动条对象与句柄 4.26.1控制滚动条对象 4.26.2控制滚动条对象句柄 4.26.3控制滚动条对象属性 4.27控制文本对象与句柄 4.27.1控制文本对象 4.27.2控制文本对象句柄 4.27.3控制文本对象属性 4.28控制拨动开关对象与句柄 4.28.1控制拨动开关对象 4.28.2控制拨动开关对象 4.28.3控制拨动开关对象 第5章GUI功能函数 5.1文件管理 5.1.1文件夹选择器 5.1.2文件选择器 5.1.3文件保存器 5.2对话框 5.2.1错误对话框 5.2.2帮助对话框 5.2.3文本框对话框 5.2.4列表对话框 5.2.5信息框 5.2.6询问对话框 5.2.7警告对话框 5.2.8自定义对话框 5.3进度条 5.4字体选择器 5.5查询或设置GUI数据 5.6查询GUI相关句柄 5.7GUI功能查询 5.8GUI运行模式查询 5.9精确移动窗口 5.10变量编辑器 5.11暂停与恢复GUI之外的 5.11.1暂停GUI之外的程序 5.11.2恢复暂停的程序 5.11.3可自动恢复的暂停 第6章经典GUI应用实例 6.1计算器设计与实现 6.1.1计算器原型设计 6.1.2计算器视图代码设计 6.1.3计算器属性代码设计 6.1.4计算器回调函数代码 6.1.5合并回调函数 6.1.6解算器设计思想 6.2记事本设计与实现 6.2.1记事本原型设计 6.2.2记事本视图代码设计 6.2.3记事本属性代码设计 6.2.4控件尺寸自适应 6.2.5关闭窗口与删除对象 6.2.6与删除对象相关的回调 6.2.7与文件存取相关的回调 6.2.8自定义菜单项目快捷键 6.2.9创建多个实例 6.3日历设计与实现 6.3.1日历原型设计 6.3.2日历视图代码设计 6.3.3日历属性代码设计 6.3.4表格的自动调节列宽 6.3.5日期时间数据处理 6.3.6动态改变控件类型 6.4PDF阅读器设计与实现 6.4.1PDF阅读器原型设计 6.4.2PDF阅读器视图代码 6.4.3PDF阅读器属性代码 6.4.4图像对象全屏显示 6.4.5轴对象在显示位图对象 6.4.6运用操作系统中的其他 6.4.7与打开PDF文件相关的
6.5天气预报客户端设计与实现 6.5.1天气预报客户端原型 6.5.2天气预报客户端视图 6.5.3天气预报客户端常见 6.5.4天气预报数据获取 6.5.5天气预报数据处理 6.5.6天气预报客户端表格的 6.5.7天气预报客户端更新 6.5.8天气预报客户端属性代码 第7章界面布局 7.1布局原理 7.1.1布局的作用 7.1.2布局与配置文件 7.1.3通过布局影响脚本的 7.2布局类 7.3布局分类 7.3.1基本布局 7.3.2绝对布局 7.3.3相对布局 7.3.4其他布局 7.4布局内容提供者类
7.4.2绝对布局内容提供者类 7.4.3相对布局内容提供者类
7.5.1初始化布局生成器类 7.5.2基本布局生成器类 7.5.3绝对布局生成器类 7.5.4相对布局生成器类 7.6脚本生成器类 7.6.1脚本内容结构分析 7.6.2初始化脚本生成器类 7.6.3初始化脚本生成路径 7.6.4初始化新的脚本文件 7.6.5生成文件头 7.6.6生成文件尾 7.7常量的作用域 7.8用字符串代表的值 7.9字面量和符号量的选择 7.10GUI配置文件制作器 7.10.1GUI配置文件制作器 7.10.2GUI配置文件制作器 7.10.3GUI配置文件制作器 7.10.4GUI配置文件制作器 7.10.5设置脚本属性 7.10.6选择要增加的布局 7.10.7增加布局 7.10.8增加图形对象 7.10.9布局列表 7.10.10图形对象列表 7.10.11删除当前布局 7.10.12删除当前图形对象 7.10.13刷新布局列表内容 7.10.14刷新图形对象列表 7.10.15清空图形对象列表 7.10.16刷新编辑区域
7.10.18序列化与反序列化 7.10.19保存配置文件 7.10.20打开配置文件 7.10.21清空当前配置 7.10.22保存并生成可执行 7.10.23可视化的报错提示 7.10.24退出GUI配置文件 第8章商店项目 8.1系统架构设计 8.2角色设计 8.3状态设计 8.3.1表盘状态的设计 8.3.2订单状态的设计 8.4搭建调试环境 8.4.1安装Vagrant 8.4.2自动化安装Fedora 8.4.3更换Fedora的软件源 8.4.4打开或关闭服务的 8.5数据结构设计 8.5.1用户表设计 8.5.2商品表设计 8.5.3商品信息表设计 8.5.4订单表设计 8.5.5审核表设计
8.6数据库操作 8.6.1安装PostgreSQL 8.6.2安装用于连接PostgreSQL 8.6.3启动PostgreSQL 8.6.4PostgreSQL控制工具 8.6.5PostgreSQL初始化数据库 8.6.6PostgreSQL启动数据库 8.6.7PostgreSQL连接数据库 8.6.8PostgreSQL用单用户 8.6.9使用数据库客户端连接到 8.6.10PostgreSQL查看配置 8.6.11PostgreSQL数据库插入 8.6.12PostgreSQL数据库查询 8.7用于PostgreSQL的SQL命令 8.7.1新增数据库用户 8.7.2建库语句 8.7.3权限管理 8.7.4用户数据DDL命令 8.7.5商品数据DDL命令 8.7.6商品信息数据DDL
8.7.8审核权限DDL和DQL 8.7.9团队DDL和DQL命令 8.7.10用户数据DML和DQL 8.7.11商品数据DML和DQL 8.7.12商品信息数据DML和 8.7.13订单数据DML和DQL 8.7.14商品状态DML和DQL 8.7.15订单状态DML和DQL 8.7.16审核权限DML和DQL 8.7.17团队DML和DQL 8.8搜索引擎 8.8.1用PostgreSQL实现搜索 8.8.2基本文本匹配 8.8.3解析文档 8.8.4解析查询 8.8.5搜索结果排名 8.8.6加亮结果 8.9建立索引 8.9.1索引的作用 8.9.2索引的优点 8.9.3建立索引的类型 8.9.4建立索引的SQL命令 8.9.5重建索引的SQL命令 8.10API设计 8.10.1创建用户 8.10.2修改用户信息 8.10.3删除用户 8.10.4查询用户信息 8.10.5创建表盘信息 8.10.6修改表盘信息 8.10.7删除表盘信息(下架) 8.10.8查询表盘信息 8.10.9审核表盘信息(通过 8.10.10审核表盘信息(不通过 8.10.11创建订单 8.10.12删除订单 8.10.13查询订单 8.10.14付款(下发付款 8.10.15付款(查询付款 8.10.16退款(用户要求 8.10.17退款(商家支持退款 8.10.18退款(商家不支持退款 8.11微服务设计 8.11.1审核微服务 8.11.2付款检查微服务 8.11.3商品信息微服务 8.11.4订单管理微服务 8.11.5商品管理微服务 8.11.6订单微服务 8.11.7付款微服务 8.11.8商品微服务
8.11.10测试微服务 8.11.11用户微服务 8.11.12UUID微服务 8.11.13图片微服务 8.12使用Octave编写CGI应用 8.12.1安装CGI工具箱 8.12.2CGI类的常用方法 8.12.3CGI测试应用 8.12.4没有安装CGI工具箱时的 8.13Octave和RESTful Web服务 8.13.1从RESTful Web服务 8.13.2向RESTful Web服务 8.13.3weboptions 8.14Apache 8.14.1安装Apache 8.14.2启动Apache 8.14.3访问Apache服务器的 8.14.4Apache的配置文件 8.14.5Apache的CGI文件夹 8.15Nginx
8.15.2启动Nginx
8.15.4Nginx的配置文件 8.16Caddy 8.16.1安装Caddy 8.16.2启动Caddy 8.16.3访问Caddy服务器的 8.16.4Caddy的配置文件 8.16.5Caddy默认的站点 8.16.6修改Caddy的站点
8.16.8访问文件服务器的 8.16.9修改Caddy的端口 8.17换用HTTPS 8.18备选的文件服务器方案 8.19UUID 8.20使用Octave操作PostgreSQL 8.20.1安装database工具箱 8.20.2Octave连接PostgreSQL 8.20.3向PostgreSQL执行 8.20.4更新缓存的PostgreSQL 8.20.5向PostgreSQL导入大 8.20.6从PostgreSQL导出大
8.20.8查看PostgreSQL的大 8.20.9连接PostgreSQL
8.20.11SQL和Octave之间数据 8.20.12SQL和Octave之间数据 8.20.138字节的时间数值 8.20.14PostgreSQL的 8.20.15数据存储格式的转换 8.20.16PostgreSQL和Octave 8.20.17PostgreSQL和Octave 8.20.18几何的、点的数据 8.21表盘原型设计 8.21.1表盘的框架 8.21.2表盘的背景 8.21.3构成表盘的6种图形 8.22表盘制作器客户端 8.22.1表盘制作器客户端 8.22.2制作界面 8.22.3表盘制作器客户端允许 8.22.4表盘制作器客户端允许 8.22.5表盘制作器客户端对表 8.22.6表盘配置验证逻辑 8.23登录和注册组件 8.23.1登录和注册组件原型 8.23.2导航界面 8.23.3登录界面 8.23.4注册界面 8.23.5对接其他业务流程 8.24表盘上传器客户端 8.24.1表盘上传器客户端原型 8.24.2配置浏览界面 8.24.3表盘上传界面 8.24.4上传状态 8.25表盘审核器客户端 8.25.1表盘审核器客户端原型 8.25.2商品信息界面 8.25.3搜索选项界面 8.25.4商品详情界面 8.25.5审核权限控制 8.26表盘商店客户端 8.26.1表盘商店客户端原型 8.26.2商店界面 8.26.3搜索选项界面 8.26.4商品详情界面 8.26.5确认下单界面 8.26.6订单管理界面 8.26.7订单详情界面 8.26.8付款界面 8.26.9手动刷新商品和订单 8.26.10商品和订单的刷新 8.27商店后台管理系统 8.27.1商店后台管理系统原型 8.27.2后台管理界面 8.27.3批量操作商品或订单 8.28表盘播放器客户端 8.28.1表盘播放器客户端原型 8.28.2播放界面 8.28.3播放表盘动画 8.29客户端的搜索选项 8.29.1搜索关键字 8.29.2搜索结果排序 8.30商店项目框架 8.30.1商店项目框架原型 8.30.2框架界面 8.30.3配置文件设计 8.30.4商店项目框架的初始化 8.31数据库集群 8.31.1数据库集群的IP 8.31.2PgpoolII的版本和 8.31.3PgpoolII配置文件的 8.31.4创建专门的用户 8.31.5配置客户端认证权限 8.31.6配置后端连接 8.31.7配置负载均衡 8.31.8配置流复制 8.31.9配置看门狗 8.31.10配置虚拟IP 8.31.11配置存活情况检查 8.31.12启动PgpoolII 8.31.13查看从机是否成功 8.31.14安装pgmemcache 8.31.15pgmemcache的配置 8.31.16pgmemcache的内置 8.31.17安装redis_fdw插件 8.31.18redis_fdw的用例 8.32Web服务器集群 8.32.1Web服务器集群的IP 8.32.2使用rsync同步文件 8.32.3同步微服务 8.32.4配置Web服务器集群的 8.32.5安装keepalived 8.32.6通过keepalived绑定 8.32.7管理keepalived服务 8.32.8配置Web服务器集群的 8.32.9负载均衡和虚拟IP 8.33文件服务器集群 8.33.1文件服务器集群的IP 8.33.2NFS从安装到配置 8.34主备网关 8.35配置memcached缓存 8.36配置Redis缓存
你还可能感兴趣
我要评论
|