- 聊天程序大小:19MBQt自定义专属QQ聊天程序例程 内含debug,release两个版本,本地无Qt库也可以运行体验。Qt自定义专属QQ聊天程序例程 内含debug,release两个版本,本地无Qt库也可以运行体验。5 1009浏览会员免费
- Qt实现3609.2大小:26MB继360安全卫士9.1之后,应广大爱好者要求,持续升级! 此版本包括:主界面、换肤界面、新版特性界面、关于我们界面、登录界面(36.、人人、新浪可切换)、注册界面、系统托盘、多语化实现、边框阴影效果等! 资源包含所有源码、资源文件。。。 欢迎讨论、交流,欢迎批评指正,欢迎留言。。。 博客地址:http://blog.sina.com.cn/liang19890820继360安全卫士9.1之后,应广大爱好者要求,持续升级! 此版本包括:主界面、换肤界面、新版特性界面、关于我们界面、登录界面(36.、人人、新浪可切换)、注册界面、系统托盘、多语化实现、边框阴影效果等! 资源包含所有源码、资源文件。。。 欢迎讨论、交流,欢迎批评指正,欢迎留言。。。 博客地址:http://blog.sina.com.cn/liang198908205 5306浏览会员免费
- RAR大小:79MB为方便大家的学习、交流,将博客导出为pdf,有兴趣的童鞋可自行下载!为方便大家的学习、交流,将博客导出为pdf,有兴趣的童鞋可自行下载!5 4086浏览会员免费
- RAR大小:79MB为方便大家的学习、交流,将博客导出为pdf,有兴趣的童鞋可自行下载!为方便大家的学习、交流,将博客导出为pdf,有兴趣的童鞋可自行下载!5 2054浏览会员免费
- MVC大小:16MBQt实现的MVC编程 功能: (1)添加委托(进度条) (2)显示文件名称、大小、进度、速度、剩余时间、状态等。 (3)可进行添加、更新、删除、清空等操作。 (4)实时更新数据Qt实现的MVC编程 功能: (1)添加委托(进度条) (2)显示文件名称、大小、进度、速度、剩余时间、状态等。 (3)可进行添加、更新、删除、清空等操作。 (4)实时更新数据5 3021浏览会员免费
- Qt5大小:19MB中秋之前,以供娱乐 实现: (1)播放、暂停、上一首、下一首 (2)歌词显示 (3)批量添加歌曲文件(夹) (4)查找歌曲(可进行模糊匹配) (5)播放模式选择(单曲播放、单曲循环、随机播放等) (6)删除、批量删除 Bug挺多,有待完善中秋之前,以供娱乐 实现: (1)播放、暂停、上一首、下一首 (2)歌词显示 (3)批量添加歌曲文件(夹) (4)查找歌曲(可进行模糊匹配) (5)播放模式选择(单曲播放、单曲循环、随机播放等) (6)删除、批量删除 Bug挺多,有待完善4 4264浏览会员免费
- ffmpeg大小:15MBQt+FFMPEG+SDL实现的视频播放器 包含源代码和可执行程序Qt+FFMPEG+SDL实现的视频播放器 包含源代码和可执行程序5 3259浏览会员免费
- C++大小:19MBLinux窗口程序设计-Qt4精彩实例分析 part02Linux窗口程序设计-Qt4精彩实例分析 part025 134浏览会员免费
- RAR大小:18MB从网上搜集来的QT程序源代码,包括摄像头采集、播放器、简单的浏览器、聊天室等。从网上搜集来的QT程序源代码,包括摄像头采集、播放器、简单的浏览器、聊天室等。4 1364浏览会员免费
- QTreeView大小:9KB代码里面有tree view的节点操作,包括添加,当前点击检查,遍历等。具体介绍见: Qt树形控件QTreeView使用1——节点的添加删除操作: http://blog.csdn.net/czyt1988/article/details/18996407 Qt树形控件QTreeView使用2——复选框的设置: http://blog.csdn.net/czyt1988/article/details/19171727 利用C++11的function和bind功能,实现QStandardItemModel的通用遍历函数: http://blog.csdn.net/czyt1988/article/details/21093451代码里面有tree view的节点操作,包括添加,当前点击检查,遍历等。具体介绍见: Qt树形控件QTreeView使用1——节点的添加删除操作: http://blog.csdn.net/czyt1988/article/details/18996407 Qt树形控件QTreeView使用2——复选框的设置: http://blog.csdn.net/czyt1988/article/details/19171727 利用C++11的function和bind功能,实现QStandardItemModel的通用遍历函数: http://blog.csdn.net/czyt1988/article/details/210934515 6198浏览会员免费
- 其它教程大小:19MB以流行的Qt库为对象,从程序设计角度全面介绍Linux/UNIX下基于Qt的图形界面程序开发方法。全书共分5部分:第一部分——Qt基础知识,介绍Qt基本知识、面向对象程序设计、槽和信号、Qt构造块等内容。第二部分——重要的Qt部件,介绍常用Qt部件使用方法,以及怎样绘制图形和创建对话框等。第三部分——深入学习Qt,介绍布局管理器、文件和目录、文本和常规表达式、容器类、图形、程序间通信等内容。第四部分——Qt编程技巧,介绍怎样编写KDE应用程序、使用OpenGL类绘图和创建Netscape插件等。第五部分——改善程序性能,介绍Qt程序的国际化、移植、调试等问题,以及怎样使用构造程序简单快捷地创建图形界面。附录部分给出了每章测验题答案和常用的Qt类描述。全书分为24个学时,每一学时内容均以前一学时为基础。以流行的Qt库为对象,从程序设计角度全面介绍Linux/UNIX下基于Qt的图形界面程序开发方法。全书共分5部分:第一部分——Qt基础知识,介绍Qt基本知识、面向对象程序设计、槽和信号、Qt构造块等内容。第二部分——重要的Qt部件,介绍常用Qt部件使用方法,以及怎样绘制图形和创建对话框等。第三部分——深入学习Qt,介绍布局管理器、文件和目录、文本和常规表达式、容器类、图形、程序间通信等内容。第四部分——Qt编程技巧,介绍怎样编写KDE应用程序、使用OpenGL类绘图和创建Netscape插件等。第五部分——改善程序性能,介绍Qt程序的国际化、移植、调试等问题,以及怎样使用构造程序简单快捷地创建图形界面。附录部分给出了每章测验题答案和常用的Qt类描述。全书分为24个学时,每一学时内容均以前一学时为基础。5 229浏览会员免费
- 读取数据大小:923KB本代码为QT读取记事本的数据并利用这些数据绘制曲线,解压后附有效果图本代码为QT读取记事本的数据并利用这些数据绘制曲线,解压后附有效果图5 5546浏览会员免费
- Linux大小:20MBLinux窗口程序设计-Qt4精彩实例分析 part01Linux窗口程序设计-Qt4精彩实例分析 part015 153浏览会员免费
- QWT大小:42MB官网下载的QWT6.1(最新版本),已经编译! 使用方式请参考:http://blog.sina.com.cn/s/blog_a6fb6cc90101gks5.html QWT基于2D方式的窗体部件来显示数据,数据源以数值,数组或一组浮点数等方式提供,输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等官网下载的QWT6.1(最新版本),已经编译! 使用方式请参考:http://blog.sina.com.cn/s/blog_a6fb6cc90101gks5.html QWT基于2D方式的窗体部件来显示数据,数据源以数值,数组或一组浮点数等方式提供,输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等5 678浏览会员免费
- QTreeView大小:1MB详细介绍QTreeView的使用, 包括:模型/视图,自定义委托、自定义样式等操作 以及无边框界面的拖拽等操作!详细介绍QTreeView的使用, 包括:模型/视图,自定义委托、自定义样式等操作 以及无边框界面的拖拽等操作!5 5355浏览会员免费
- 360大小:601KB我这个人就是贱,要一点辛苦分。 程序阴影边缘,动态按钮,托盘菜单.相似率高达95%我这个人就是贱,要一点辛苦分。 程序阴影边缘,动态按钮,托盘菜单.相似率高达95%5 1897浏览会员免费
- 360新版特性界面源代码大小:242KB360新版特性界面源代码 实现了360新版特性界面的效果,主要涉及到Qt的一些事件处理与自定义控件。360新版特性界面源代码 实现了360新版特性界面的效果,主要涉及到Qt的一些事件处理与自定义控件。5 212浏览会员免费
- 演示程序大小:14MBQt 编写的小控件的集合,其中一部分为整理的开源作品,一部分为自己原创,都是一些我自己用得到的控件Qt 编写的小控件的集合,其中一部分为整理的开源作品,一部分为自己原创,都是一些我自己用得到的控件4 2609浏览会员免费
- Qt4开发实践大小:48MB里面包括电子教案,习题解答和程序源代码。教案是ppt来的,里面包括每一章的讲解里面包括电子教案,习题解答和程序源代码。教案是ppt来的,里面包括每一章的讲解5 274浏览会员免费
- QZXing大小:19MBQt实现的一个二维码扫描器,利用QZXing库进行解码。 更多信息请参考:http://blog.sina.com.cn/s/blog_a6fb6cc90101gng5.htmlQt实现的一个二维码扫描器,利用QZXing库进行解码。 更多信息请参考:http://blog.sina.com.cn/s/blog_a6fb6cc90101gng5.html4 2686浏览会员免费
- mingw4.4.0大小:28MBQt开发用的mingw4.4.0编译器 mingw4.4.0Qt开发用的mingw4.4.0编译器 mingw4.4.05 826浏览会员免费
- gui大小:4MB《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版-PDF 分辨率在500dpi左右,清晰度,绝对高清有保证! 书签-封面-所有信息齐全。 绝对原版扫描,一页不漏! 由于文件大(清晰度高导致文件体积大),故分三个部分上传: 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part1.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part2.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part3.rar《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版-PDF 分辨率在500dpi左右,清晰度,绝对高清有保证! 书签-封面-所有信息齐全。 绝对原版扫描,一页不漏! 由于文件大(清晰度高导致文件体积大),故分三个部分上传: 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part1.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part2.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part3.rar4 377浏览会员免费
- Qt5大小:5KB使用Qt5自带串口类实现的串口调试助手。使用Qt5自带串口类实现的串口调试助手。5 1836浏览会员免费
- ,Qpushbutton,圆按钮大小:152KBqt按钮加图片,实现圆按钮,圆形实现了就是边上有锯齿,不知道怎么处理,望高手指点。刚学qt改的网上的代码。 开发环境Linux下 qt creator 运行需要修改图片路径qt按钮加图片,实现圆按钮,圆形实现了就是边上有锯齿,不知道怎么处理,望高手指点。刚学qt改的网上的代码。 开发环境Linux下 qt creator 运行需要修改图片路径5 5452浏览会员免费
- Qt开发者大会大小:23MB这是Qt官方提供的专业文档,在北京组织了的2013中国Qt开发者大会,所有资料应有尽有。这是Qt官方提供的专业文档,在北京组织了的2013中国Qt开发者大会,所有资料应有尽有。5 376浏览会员免费
- adaboost大小:7KBadaboost训练和测试的源代码,QT工程文件adaboost训练和测试的源代码,QT工程文件5 908浏览会员免费
- 多语化大小:12MBQt实现多语化切换,随意切换、游刃有余,不需要重启界面,即可完成,代码完整,屡试不爽!Qt实现多语化切换,随意切换、游刃有余,不需要重启界面,即可完成,代码完整,屡试不爽!5 1603浏览会员免费
- Linux大小:908KB本书主要讲述Qt在Linux下的编程基础知识 以红旗LINUX4.1桌面版为例qt-x11-free-3.3.2 目录 前 言 第一章 Qt的安装 第二章 Hello World 第三章 C/C++ 基础本书主要讲述Qt在Linux下的编程基础知识 以红旗LINUX4.1桌面版为例qt-x11-free-3.3.2 目录 前 言 第一章 Qt的安装 第二章 Hello World 第三章 C/C++ 基础4 2877浏览会员免费
- QTP自动化测试框架大小:2MB一个很详细,实用的自动化测试框架应用。一个很详细,实用的自动化测试框架应用。4 130浏览会员免费
- gui大小:15MB《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版-PDF 分辨率在500dpi左右,清晰度,绝对高清有保证! 书签-封面-所有信息齐全。 绝对原版扫描,一页不漏! 由于文件大(清晰度高导致文件体积大),故分三个部分上传: 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part1.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part2.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part3.rar《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版-PDF 分辨率在500dpi左右,清晰度,绝对高清有保证! 书签-封面-所有信息齐全。 绝对原版扫描,一页不漏! 由于文件大(清晰度高导致文件体积大),故分三个部分上传: 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part1.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part2.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part3.rar5 329浏览会员免费
- VS2013大小:55MBVS2010-VS2015 下配置Qt4.8-Qt5.4插件,已亲测VS2010-VS2015 下配置Qt4.8-Qt5.4插件,已亲测4 342浏览会员免费
- GUI大小:15MB《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版-PDF 分辨率在500dpi左右,清晰度,绝对高清有保证! 书签-封面-所有信息齐全。 绝对原版扫描,一页不漏! 由于文件很大(清晰度高导致文件很大),故分三个部分上传: 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part1.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part2.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part3.rar《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版-PDF 分辨率在500dpi左右,清晰度,绝对高清有保证! 书签-封面-所有信息齐全。 绝对原版扫描,一页不漏! 由于文件很大(清晰度高导致文件很大),故分三个部分上传: 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part1.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part2.rar 《C++ GUI Qt 4 编程(第二版)》《C++ GUI programming with Qt4》高清-中文版-扫描版.part3.rar5 628浏览会员免费
- 360新版特性界面大小:5MB360新版特性界面 通过Qt,模仿360新版特性界面的实现,具备移动,缓慢效果,等等简单的功能。360新版特性界面 通过Qt,模仿360新版特性界面的实现,具备移动,缓慢效果,等等简单的功能。4 143浏览会员免费
- 帮助文档大小:7MBQT的中文帮助文档,对英语不好的朋友有很大帮助QT的中文帮助文档,对英语不好的朋友有很大帮助4 1384浏览会员免费
- tcp大小:4KB一个qt tcpserver多线程接收连接的例子 有客户端连接后3内接收到数据后返回 到达3秒或者发送完数据 断开 学习阶段,有很多不懂.不知道为什么这种常用的功能没有个实例. 仅供参考一个qt tcpserver多线程接收连接的例子 有客户端连接后3内接收到数据后返回 到达3秒或者发送完数据 断开 学习阶段,有很多不懂.不知道为什么这种常用的功能没有个实例. 仅供参考5 1470浏览会员免费
- pdf大小:4MB初 级 篇 \第1章 Qt初步实践 2 \1.1 第一个Qt程序 2 \1.1.1 建立主程序 2 \1.1.2 建立工程 3 \1.1.3 编译/运行第一个Qt应用程序 8 \1.1.4 第一个Qt程序的代码分析 8 \1.2 使用Qt布局管理器 11 \1.3 关联操作 12 \1.4 小结 13 \第2章 对话框——QDialog 14 \2.1 自定义对话框 14 \2.1.1 建立新类 14 \2.1.2 添加子窗口部件 15 \2.2 加入主程序 22 \2.3 Qt内建(built-in)对话框 24 \2.4 小结 34 \第3章 基础窗口部件——QWidget 35 \3.1 Qt设计器绘制窗口部件 35 \3.1.1 Qt设计器基础 35 \3.1.2 绘制窗口部件 40 \3.2 程序中引入自定义窗口部件 47 \3.2.1 直接使用方式 47 \3.2.2 单一继承方式 49 \3.2.3 多继承方式 51 \3.3 Qt的信号和槽机制 53 \3.3.1 基本原理 53 \3.3.2 设计信号和槽 55 \3.3.3 信号和槽的自动关联 62 \3.4 窗口标志及几何布局 63 \3.4.1窗口标志 64 \3.4.2窗口部件的几何布局 66 \ \3.5 Qt样式表 74 \3.5.1 样式表语法 74 \3.5.2 样式表的应用 76 \3.6 Qt对象模型 79 \3.6.1 元对象系统 79 \3.6.2 属性系统 80 \3.6.3 对象树 83 \3.7 小结 86 \第4章 程序主窗口——QMainWindow 87 \4.1 QMainWindow主窗口框架 87 \4.2 Qt设计器绘制主窗口 88 \4.2.1 菜单 90 \4.2.2 工具栏 93 \4.2.3 中心部件 96 \4.3 代码创建主窗口 98 \4.3.1 创建资源文件 98 \4.3.2 定义主窗口类 98 \4.4 锚接部件 102 \4.5 状态栏 105 \4.6 实现文本编辑器功能 107 \4.7 多文档 118 \4.8 打印文档 119 \4.9 小结 120 \第5章 布局管理 121 \5.1 Qt布局管理器——QLayout 121 \5.1.1 Qt布局管理器简介 121 \5.1.2 布局管理器及窗口部件大小策略 \5.1.2 的应用 125 \5.2 分裂器部件QSplitter 132 \5.3 栈部件QStackedWidget 134 \5.4 工作空间部件QWorkspace 135 \5.5 多文档区部件QMdiArea 148 \5.6 小结 150 \ \中 级 篇 \第6章 2D绘图 152 \6.1 Arthur绘图基础 152 \6.1.1 绘图 152 \6.1.2 绘图设备 174 \6.2 坐标系统与坐标变换 175 \6.2.1 坐标系统 175 \6.2.2 坐标变换 175 \6.3 用不同的字体 177 \6.4 绘图路径——QPainterPath 180 \6.5 QImage与QPixmap绘图设备 182 \6.5.1 QImage 182 \6.5.2 Pixmap 183 \6.6 组合模式绘图 192 \6.7 Graphics View框架 200 \6.7.1 Graphics View体系结构 200 \6.7.2 Graphics View坐标系统 201 \6.7.3 深入Graphics View 202 \6.8 图形图像打印 208 \6.8.1 普通打印过程 208 \6.8.2 特殊窗口部件的打印 210 \6.9 小结 211 \第7章 拖放操作和剪贴板 212 \7.1 拖放操作 212 \7.1.1 拖放操作 212 \7.1.2 定义新的拖放操作类型 214 \7.1.3 Graphics View框架下的拖放 \7.1.3 操作 215 \7.2 使用剪贴板 217 \7.3 小结 218 \第8章 文件处理 219 \8.1 读写文本文件 219 \8.2 操作二进制文件 220 \8.3 临时文件 222 \8.4 目录操作和文件管理 222 \8.4.1 目录操作 222 \8.4.2 文件管理 224 \8.5 监视文件系统变化 225 \8.6 文件引擎 226 \8.7 小结 226 \第9章 网络 227 \9.1 FTP客户端 227 \9.2 HTTP客户端 235 \9.3 UDP应用 239 \9.4 TCP应用 243 \9.5 高级应用 253 \9.5.1 底层操作 253 \9.5.2 使用代理 256 \9.5.3 扩展Qt网络功能 256 \9.5.4 效率问题 260 \9.6 小结 260 \第10章 多线程 261 \10.1 启动一个线程 261 \10.2 线程互斥与同步 264 \10.2.1 临界区问题 265 \10.2.2 使用QMutex 265 \10.2.3 使用QSemaphore 266 \10.2.4 使用QWaitConditon 269 \10.3 线程的其他问题 271 \10.3.1 优先级问题 271 \10.3.2 死锁及优先级反转问题 274 \10.3.3 本地存储问题 275 \10.4 Qt的线程机制 276 \10.4.1 可重入与线程安全 276 \10.4.2 线程与事件循环 277 \10.4.3 线程与信号/槽机制 278 \10.4.4 多线程网络示例 279 \10.5 小结 282 \第11章 事件处理 283 \11.1 事件机制 283 \11.1.1 事件来源与类型 283 \11.1.2 事件处理方法 284 \11.2 事件处理器 285 \11.3 事件过滤器 290 \11.4 加快用户界面响应 292 \11.4.1 使用processEvents()函数 293 \11.4.2 使用定时器 294 \11.5 小结 296 \第12章 数据库 297 \12.1 连接数据库 297 \12.2 常用数据库操作 301 \12.2.1 使用SQL语句 302 \12.2.2 事务操作 304 \12.2.3 使用SQL模型类 304 \12.2.4 数据表示 308 \12.3 Qt数据库应用 310 \12.3.1 使用嵌入式数据库 310 \12.3.2 使用Oracle数据库 313 \12.4 小结 325 \第13章 Qt的模板库和工具类 326 \13.1 Qt容器类 326 \13.1.1 QList、QLinkedList和QVector 327 \13.1.2 QMap、QHash 332 \13.2 QString 334 \13.2.1 隐式共享 335 \13.2.2 内存分配策略 336 \13.2.3 操作字符串 336 \13.2.4 查询字符串数据 337 \13.2.5 字符串的转换 338 \13.3 QVariant 339 \13.4 Qt的算法 341 \13.5 正则表达式 342 \13.5.1 基本的正则表达式 342 \13.5.2 文字捕获 344 \13.6 小结 345 \高 级 篇 \第14章 XML 348 \14.1 DOM 348 \14.1.1 DOM入门 348 \14.1.2 使用DOM 348 \14.1.3 使用DOM写XML文件 352 \14.2 SAX 354 \14.3 基于流的XML API 359 \14.4 小结 365 \第15章 模型/视图结构 366 \15.1 模型/视图结构与MVC设计 \15.1 模式 366 \15.1.1 模型 366 \15.1.2 视图 367 \15.1.3 代理 368 \15.2 使用已有的模型视图类 368 \15.2.1 使用已有的模型和视图类 368 \15.2.2 QListWidget、QtreeWidget \15.2.2 和QTableWidget 370 \15.3 模型(Models) 381 \15.3.1 模型索引 381 \15.3.2 模型角色 382 \15.3.3 自定义模型 382 \15.3.4 代理模型 385 \15.4 视图(Views) 390 \15.4.1 自定义视图 390 \15.4.2 数据-窗口部件映射 390 \15.5 代理(Delegates) 396 \15.5.1 使用已有的代理 396 \15.5.2 自定义代理 396 \15.6 拖放与选中 401 \15.6.1 拖放操作 401 \15.6.2 选中模式 404 \15.7 小结 405 \第16章 高级绘图 406 \16.1 3D绘图——使用OpenGL 406 \16.1.1 创建OpenGL窗口 406 \16.1.2 着色 410 \16.1.3 3D和旋转 411 \16.1.4 纹理贴图 414 \16.2 SVG 417 \16.2.1 绘制SVG图形 418 \16.2.2 生成SVG文件 419 \16.3 小结 420 \第17章 进程与进程间通信 421 \17.1 使用QProcess 421 \17.2 Linux进程间通信 423 \17.3 新型进程间通信——D-Bus 425 \17.3.1 D-Bus简介 425 \17.3.2 安装QtDBus模块 427 \17.3.3 接口与适配器 429 \17.3.4 QtDBus应用实例 432 \17.4 小结 441 \第18章 Qt插件 442 \18.1 Qt插件开发基础 442 \18.2 Qt设计器插件 443 \18.2.1 使用Scratchpad 443 \18.2.2 提升自定义窗口部件 444 \18.2.3 Qt设计器插件开发 444 \18.3 编写数据库插件 451 \18.4 自定义风格插件 455 \18.5 小结 458 \第19章 脚本——QtScript 459 \19.1 执行ECMAScript脚本 459 \19.2 QtScript中的信号和槽 460 \19.3 使用JavaScript操作Qt对象 463 \19.4 基于Prototype的继承 467 \19.5 小结 467 \第20章 国际化 468 \20.1 Unicode与字符编码 468 \20.1.1 Unicode 468 \20.1.2 汉字编码 469 \20.1.3 编码转换 469 \20.2 Qt Linguist 471 \20.2.1 发布管理器 472 \20.2.2 翻译器 474 \20.2.3 加载翻译文件 476 \20.3 语言切换 477 \20.4 小结 477 \第21章 Qt单元测试框架 478 \21.1 QTestLib框架 478 \21.1.1 QTestLib 478 \21.1.2 第一个Qt单元测试 478 \21.2 数据驱动测试 480 \21.3 GUI测试 481 \21.2.1 仿真GUI事件 481 \21.2.2 重放GUI事件 483 \21.3 小结 484 \附录A Qt安装 485 \附录B Qt集成开发环境 492 \附录C qmake速查 501 \附录D 深入Qt源代码 506 \附录E Qt资源 512 序言/前言 前言 \两年前,当我们准备在Linux系统下开发GUI应用软件时,首先想到的就是选择一个GUI应用框架来简化开发。在三大GUI框架GTK+、Qt和wxWidgets 之间,我们选择了Qt 4工具包。作为重量级桌面系统KDE多年的坚实基础,Qt应该是经受了足够的考验。当我们准备编写自己的应用软件时,却发现图书市场上没有一本关于Qt 4的书籍,仅有的只是一些关于Qt 3的资料。由于Qt 3到Qt 4的变化很大,甚至源代码都不兼容,所以这些资料的参考价值并不是太大。于是,我们通过阅读Qt的assistant和examples来学习并使用Qt 4。在逐渐掌握Qt 4的过程中,我们萌发了编写一本关于Qt 4的书来帮助初学者入门的想法。最终,在电子工业出版社博文视点资讯有限公司的大力支持下,我们的想法终于得以付诸实施。 \关于Qt \Qt是挪威的Trolltech公司的旗舰产品,作为跨平台的应用程序框架,是开源的桌面系统KDE的基石。Google Earth,Skype,Opera,Adobe Photoshop Elements,Peforce Visual Client等软件都是基于Qt写成。自Trolltech公司1996年推出Qt 1.0版以来,Qt已经从2.x,3.x发展到了现在的Qt 4.3,本书就是基于最新的Qt 4.3写成。因为Qt 4框架设计得非常优秀,在2006年的第16届Jolt大奖上,Qt 4获得了类库、框架和组件类别的Jolt生产力奖。 \和Java的“一次编译,到处运行”跨平台不同的是,Qt是源代码级的跨平台,一次编写,随处编译。一次开发的Qt应用程序可以移植到不同的平台上,只需重新编译即可运行。Qt支持的平台有: \? Microsoft Windows,包括Windows 98/NT 4.0/2000/XP/Vista; \? UNIX/X11,包括Linux,Sun Solaris,HP-UX,HP Tru64 UNIX,IBM AIX,SGI IRIX等; \? Mac OS X,支持Mac OS X 10.3以上版本; \? 嵌入式Linux,包括支持framebuffer的所有Linux平台。 \Qt还支持嵌入式系统,Qt的嵌入式版本称为Qtopia Core,可以在多种处理器上运行,目标操作系统通常是嵌入式Linux。Qtopia Core应用程序直接使用framebuffer,而不是笨重的X Window系统。Qt相关的另一个产品——Qt Jambi,则是基于Qt库构建的,面向Java程序员的应用程序框架。另外,还有一些开源的在其他语言上的Qt绑定,如C#/Mono的绑定Qyoto,Python的绑定PyQt,Ruby的绑定QtRuby等。有了这些产品,编写Qt程序不再是C++程序员的专利了。 \Qt的发行版本有商业版和开源版。开源版遵循QPL(Q Public License)和GPL(GNU General Public License)协议,商业版则提供了一些特有的模块,如Windows平台上的ActiveQt框架,Oralce、DB2等商业数据库的驱动。本书主要介绍开源版的Qt 4.3。 \阅读本书的基础 \阅读本书的读者需要具有基本的C++程序设计知识,毕竟Qt是用C++编写的应用程序框架。如果要学习QtScript,还需要了解JavaScript。 \本书的结构 \本书共21章,每章讨论一个专题。章节安排上基本采用循序渐进、由浅到深的原则。但最后的高级篇中的章节没有很强的关联,可以按照随意的顺序阅读。每章内容及作者分述如下: \篇章 章 名 作者 内 容 简 介 页码 \初级篇 第1章 Qt初步实践 卢传富 建立了第一个较简单的Qt应用程序,在GUI用户界面中显示一行中文。 2 \ 第2章 对话框 \——QDialog 卢传富介绍了Qt的对话框类QDialog,实现了一个自定义的登录对话框,举例说明了Qt提供的内建对话框类的应用。 14 \ 第3章 基础窗口部件——QWidget 卢传富 \蔡志明首次引入Qt设计器的使用,绘制并实现了一个查找文件功能的部件,介绍了Qt应用程序中使用ui文件的基本方法以及Qt样式表;较深入地分析了Qt对象模型的一些基本知识,涉及信号和槽机制、Qt元对象系统、属性系统和对象树机制,以及部件类型和部件的几何布局等内容。 35 \ 第4章 程序主窗口—— QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和手写代码两种方法实现了简单文本编辑器主窗口界面的排布和管理。 87 \ 第5章 布局管理 卢传富布局管理是GUI应用程序编程的一个重要方面。Qt提供了多种布局管理部件,包括Qt布局管理器、分裂器、栈部件、工作空间部件和多文档区部件等。本章一一介绍了这些部件,并举例说明了它们在图形用户界面编程中的应用。 121 \中级篇 第6章 2D绘图 蔡志明本章内容较多,包括Qt的绘图要素、图形变换与坐标系统、绘图设备、图像处理、图像打印等。最后讲解了Qt 4图形系统的模型视图框架——Graphics View框架。 152 \ 第7章 拖放操作与剪贴板 蔡志明 本章简要地说明了基于MIME的拖放操作和剪贴板的使用,关于Graphics View框架的拖放操作也在本章。 212 \ 第8章 文件处理 蔡志明介绍了Qt的文件处理,包括基于流的文本文件和二进制文件处理,文件信息和目录操作,目录以及文件的变化监控,文件引擎的编写。 219 \ 第9章 网络 李立夏介绍了Qt的网络处理,包括编写常见的FTP、HTTP、UDP和TCP程序,以及访问底层网络接口信息和扩展Qt网络模块功能的方法。 227 \ 第10章 多线程 李立夏介绍了Qt的多线程处理,包括两方面内容:传统的线程操作,以及与Qt事件机制相关的操作。这一章还涉及较多的基本概念,并逐一做了介绍。 261 \ 第11章 事件机制 李立夏介绍了Qt的事件处理模型,详细介绍了在Qt程序设计中处理事件的五种方法,并讨论了如何利用Qt事件机制加快用户界面响应速度。 283 \ 第12章 数据库 李立夏介绍了Qt的数据库处理,重点介绍了如何在Qt中使用SQL语句进行数据库操作和如何利用QSqlTableModel这类高层次类进行常见的数据库编程。 297 \ 第13章 Qt的模板库和工具类 卢传富 \蔡志明 Qt提供了丰富的模板库和工具类,本章只是介绍了部分内容。在这一章,重点介绍了Qt的容器类、QString和QVariant类,简介了Qt的算法和Qt正则表达式的使用。 326 \ \ \续表 \篇章 章 名 作者 内 容 简 介 页码 \高级篇 第14章 XML 蔡志明对Qt中的三种XML解析方式(DOM、SAX和基于流的解析)进行了比较和举例。还讲解了如何使用API写XML文件。 348 \ 第15章 模型/视图结构 蔡志明阐述了Qt的模型/视图结构,分别对模型视图的三个组成部分(模型、视图和代理)进行了介绍,演示了如何自定义这些组成部分,并简要说明了拖放以及选中操作。 366 \ 第16章 高级绘图 蔡志明叙述了在Qt中如何使用OpenGL绘图,对基本的OpenGL绘图进行了讲解,介绍了矢量图型文件SVG的读写操作。 406 \ 第17章 进程间通信 李立夏 介绍进程和进程间通信的知识,重点介绍了Qt中桌面环境下基于D-Bus的多进程应用程序开发。 421 \ 第18章 Qt插件 蔡志明 说明了Qt的插件系统,并对Qt Designer插件、数据库插件、风格插件进行了较详细的介绍。 442 \ 第19章 脚本——QtScript 蔡志明 这是Qt 4.3中引入的最新内容,使得Qt能够支持ECMAScript脚本。本章简要地举例说明了在Qt中如何使用脚本,如何将C++对象暴露给脚本。 459 \ 第20章 国际化 骆艳 本章包括编码的处理,Qt Linguist的使用步骤,动态语言切换的内容。 468 \ 第21章 Qt单元测试框架 蔡志明 本章阐述了如何使用QTestLib框架进行数据测试、GUI测试。 478 \ 附录A~E 蔡志明附录中包括Qt在Linux、Windows、Solaris上的安装,KDevelop、Eclipse集成开发环境的使用,qmake的基本应用,Qt源代码分析举例,Qt资源。 485 \如何获取源代码 \由于Qt是跨平台的,因此书中的内容应用能够在Windows、Linux、UNIX和Mac OS上运行,书中的程序可能是在下列三种平台之一上编写:Windows XP/Vista、Linux(SuSE、Fedora Core或红旗)以及Solaris 10 SPARC/X86。因此书中的屏幕截图可能来源于其中的任何一种操作系统。 \要获取本书的源代码,可以访问博文视点资讯有限公司网站获取: \ www.broadview.com.cn。 \致谢 \本书在写作出版的过程中,得到了电子工业出版社孙学瑛编辑的大力帮助,没有她细致的工作和有益的建议,本书难以最终出版,在此,作者向孙学瑛编辑表示诚挚的谢意。 \问题反馈 \欢迎广大读者和专家对本书提出建议和批评。如果您认为书有错误或对我们有什么建议,可以联系jsj@phei.com.cn。 \ \蔡志明 卢传富 李立夏 \2007年11月30日于武汉初 级 篇 \第1章 Qt初步实践 2 \1.1 第一个Qt程序 2 \1.1.1 建立主程序 2 \1.1.2 建立工程 3 \1.1.3 编译/运行第一个Qt应用程序 8 \1.1.4 第一个Qt程序的代码分析 8 \1.2 使用Qt布局管理器 11 \1.3 关联操作 12 \1.4 小结 13 \第2章 对话框——QDialog 14 \2.1 自定义对话框 14 \2.1.1 建立新类 14 \2.1.2 添加子窗口部件 15 \2.2 加入主程序 22 \2.3 Qt内建(built-in)对话框 24 \2.4 小结 34 \第3章 基础窗口部件——QWidget 35 \3.1 Qt设计器绘制窗口部件 35 \3.1.1 Qt设计器基础 35 \3.1.2 绘制窗口部件 40 \3.2 程序中引入自定义窗口部件 47 \3.2.1 直接使用方式 47 \3.2.2 单一继承方式 49 \3.2.3 多继承方式 51 \3.3 Qt的信号和槽机制 53 \3.3.1 基本原理 53 \3.3.2 设计信号和槽 55 \3.3.3 信号和槽的自动关联 62 \3.4 窗口标志及几何布局 63 \3.4.1窗口标志 64 \3.4.2窗口部件的几何布局 66 \ \3.5 Qt样式表 74 \3.5.1 样式表语法 74 \3.5.2 样式表的应用 76 \3.6 Qt对象模型 79 \3.6.1 元对象系统 79 \3.6.2 属性系统 80 \3.6.3 对象树 83 \3.7 小结 86 \第4章 程序主窗口——QMainWindow 87 \4.1 QMainWindow主窗口框架 87 \4.2 Qt设计器绘制主窗口 88 \4.2.1 菜单 90 \4.2.2 工具栏 93 \4.2.3 中心部件 96 \4.3 代码创建主窗口 98 \4.3.1 创建资源文件 98 \4.3.2 定义主窗口类 98 \4.4 锚接部件 102 \4.5 状态栏 105 \4.6 实现文本编辑器功能 107 \4.7 多文档 118 \4.8 打印文档 119 \4.9 小结 120 \第5章 布局管理 121 \5.1 Qt布局管理器——QLayout 121 \5.1.1 Qt布局管理器简介 121 \5.1.2 布局管理器及窗口部件大小策略 \5.1.2 的应用 125 \5.2 分裂器部件QSplitter 132 \5.3 栈部件QStackedWidget 134 \5.4 工作空间部件QWorkspace 135 \5.5 多文档区部件QMdiArea 148 \5.6 小结 150 \ \中 级 篇 \第6章 2D绘图 152 \6.1 Arthur绘图基础 152 \6.1.1 绘图 152 \6.1.2 绘图设备 174 \6.2 坐标系统与坐标变换 175 \6.2.1 坐标系统 175 \6.2.2 坐标变换 175 \6.3 用不同的字体 177 \6.4 绘图路径——QPainterPath 180 \6.5 QImage与QPixmap绘图设备 182 \6.5.1 QImage 182 \6.5.2 Pixmap 183 \6.6 组合模式绘图 192 \6.7 Graphics View框架 200 \6.7.1 Graphics View体系结构 200 \6.7.2 Graphics View坐标系统 201 \6.7.3 深入Graphics View 202 \6.8 图形图像打印 208 \6.8.1 普通打印过程 208 \6.8.2 特殊窗口部件的打印 210 \6.9 小结 211 \第7章 拖放操作和剪贴板 212 \7.1 拖放操作 212 \7.1.1 拖放操作 212 \7.1.2 定义新的拖放操作类型 214 \7.1.3 Graphics View框架下的拖放 \7.1.3 操作 215 \7.2 使用剪贴板 217 \7.3 小结 218 \第8章 文件处理 219 \8.1 读写文本文件 219 \8.2 操作二进制文件 220 \8.3 临时文件 222 \8.4 目录操作和文件管理 222 \8.4.1 目录操作 222 \8.4.2 文件管理 224 \8.5 监视文件系统变化 225 \8.6 文件引擎 226 \8.7 小结 226 \第9章 网络 227 \9.1 FTP客户端 227 \9.2 HTTP客户端 235 \9.3 UDP应用 239 \9.4 TCP应用 243 \9.5 高级应用 253 \9.5.1 底层操作 253 \9.5.2 使用代理 256 \9.5.3 扩展Qt网络功能 256 \9.5.4 效率问题 260 \9.6 小结 260 \第10章 多线程 261 \10.1 启动一个线程 261 \10.2 线程互斥与同步 264 \10.2.1 临界区问题 265 \10.2.2 使用QMutex 265 \10.2.3 使用QSemaphore 266 \10.2.4 使用QWaitConditon 269 \10.3 线程的其他问题 271 \10.3.1 优先级问题 271 \10.3.2 死锁及优先级反转问题 274 \10.3.3 本地存储问题 275 \10.4 Qt的线程机制 276 \10.4.1 可重入与线程安全 276 \10.4.2 线程与事件循环 277 \10.4.3 线程与信号/槽机制 278 \10.4.4 多线程网络示例 279 \10.5 小结 282 \第11章 事件处理 283 \11.1 事件机制 283 \11.1.1 事件来源与类型 283 \11.1.2 事件处理方法 284 \11.2 事件处理器 285 \11.3 事件过滤器 290 \11.4 加快用户界面响应 292 \11.4.1 使用processEvents()函数 293 \11.4.2 使用定时器 294 \11.5 小结 296 \第12章 数据库 297 \12.1 连接数据库 297 \12.2 常用数据库操作 301 \12.2.1 使用SQL语句 302 \12.2.2 事务操作 304 \12.2.3 使用SQL模型类 304 \12.2.4 数据表示 308 \12.3 Qt数据库应用 310 \12.3.1 使用嵌入式数据库 310 \12.3.2 使用Oracle数据库 313 \12.4 小结 325 \第13章 Qt的模板库和工具类 326 \13.1 Qt容器类 326 \13.1.1 QList、QLinkedList和QVector 327 \13.1.2 QMap、QHash 332 \13.2 QString 334 \13.2.1 隐式共享 335 \13.2.2 内存分配策略 336 \13.2.3 操作字符串 336 \13.2.4 查询字符串数据 337 \13.2.5 字符串的转换 338 \13.3 QVariant 339 \13.4 Qt的算法 341 \13.5 正则表达式 342 \13.5.1 基本的正则表达式 342 \13.5.2 文字捕获 344 \13.6 小结 345 \高 级 篇 \第14章 XML 348 \14.1 DOM 348 \14.1.1 DOM入门 348 \14.1.2 使用DOM 348 \14.1.3 使用DOM写XML文件 352 \14.2 SAX 354 \14.3 基于流的XML API 359 \14.4 小结 365 \第15章 模型/视图结构 366 \15.1 模型/视图结构与MVC设计 \15.1 模式 366 \15.1.1 模型 366 \15.1.2 视图 367 \15.1.3 代理 368 \15.2 使用已有的模型视图类 368 \15.2.1 使用已有的模型和视图类 368 \15.2.2 QListWidget、QtreeWidget \15.2.2 和QTableWidget 370 \15.3 模型(Models) 381 \15.3.1 模型索引 381 \15.3.2 模型角色 382 \15.3.3 自定义模型 382 \15.3.4 代理模型 385 \15.4 视图(Views) 390 \15.4.1 自定义视图 390 \15.4.2 数据-窗口部件映射 390 \15.5 代理(Delegates) 396 \15.5.1 使用已有的代理 396 \15.5.2 自定义代理 396 \15.6 拖放与选中 401 \15.6.1 拖放操作 401 \15.6.2 选中模式 404 \15.7 小结 405 \第16章 高级绘图 406 \16.1 3D绘图——使用OpenGL 406 \16.1.1 创建OpenGL窗口 406 \16.1.2 着色 410 \16.1.3 3D和旋转 411 \16.1.4 纹理贴图 414 \16.2 SVG 417 \16.2.1 绘制SVG图形 418 \16.2.2 生成SVG文件 419 \16.3 小结 420 \第17章 进程与进程间通信 421 \17.1 使用QProcess 421 \17.2 Linux进程间通信 423 \17.3 新型进程间通信——D-Bus 425 \17.3.1 D-Bus简介 425 \17.3.2 安装QtDBus模块 427 \17.3.3 接口与适配器 429 \17.3.4 QtDBus应用实例 432 \17.4 小结 441 \第18章 Qt插件 442 \18.1 Qt插件开发基础 442 \18.2 Qt设计器插件 443 \18.2.1 使用Scratchpad 443 \18.2.2 提升自定义窗口部件 444 \18.2.3 Qt设计器插件开发 444 \18.3 编写数据库插件 451 \18.4 自定义风格插件 455 \18.5 小结 458 \第19章 脚本——QtScript 459 \19.1 执行ECMAScript脚本 459 \19.2 QtScript中的信号和槽 460 \19.3 使用JavaScript操作Qt对象 463 \19.4 基于Prototype的继承 467 \19.5 小结 467 \第20章 国际化 468 \20.1 Unicode与字符编码 468 \20.1.1 Unicode 468 \20.1.2 汉字编码 469 \20.1.3 编码转换 469 \20.2 Qt Linguist 471 \20.2.1 发布管理器 472 \20.2.2 翻译器 474 \20.2.3 加载翻译文件 476 \20.3 语言切换 477 \20.4 小结 477 \第21章 Qt单元测试框架 478 \21.1 QTestLib框架 478 \21.1.1 QTestLib 478 \21.1.2 第一个Qt单元测试 478 \21.2 数据驱动测试 480 \21.3 GUI测试 481 \21.2.1 仿真GUI事件 481 \21.2.2 重放GUI事件 483 \21.3 小结 484 \附录A Qt安装 485 \附录B Qt集成开发环境 492 \附录C qmake速查 501 \附录D 深入Qt源代码 506 \附录E Qt资源 512 序言/前言 前言 \两年前,当我们准备在Linux系统下开发GUI应用软件时,首先想到的就是选择一个GUI应用框架来简化开发。在三大GUI框架GTK+、Qt和wxWidgets 之间,我们选择了Qt 4工具包。作为重量级桌面系统KDE多年的坚实基础,Qt应该是经受了足够的考验。当我们准备编写自己的应用软件时,却发现图书市场上没有一本关于Qt 4的书籍,仅有的只是一些关于Qt 3的资料。由于Qt 3到Qt 4的变化很大,甚至源代码都不兼容,所以这些资料的参考价值并不是太大。于是,我们通过阅读Qt的assistant和examples来学习并使用Qt 4。在逐渐掌握Qt 4的过程中,我们萌发了编写一本关于Qt 4的书来帮助初学者入门的想法。最终,在电子工业出版社博文视点资讯有限公司的大力支持下,我们的想法终于得以付诸实施。 \关于Qt \Qt是挪威的Trolltech公司的旗舰产品,作为跨平台的应用程序框架,是开源的桌面系统KDE的基石。Google Earth,Skype,Opera,Adobe Photoshop Elements,Peforce Visual Client等软件都是基于Qt写成。自Trolltech公司1996年推出Qt 1.0版以来,Qt已经从2.x,3.x发展到了现在的Qt 4.3,本书就是基于最新的Qt 4.3写成。因为Qt 4框架设计得非常优秀,在2006年的第16届Jolt大奖上,Qt 4获得了类库、框架和组件类别的Jolt生产力奖。 \和Java的“一次编译,到处运行”跨平台不同的是,Qt是源代码级的跨平台,一次编写,随处编译。一次开发的Qt应用程序可以移植到不同的平台上,只需重新编译即可运行。Qt支持的平台有: \? Microsoft Windows,包括Windows 98/NT 4.0/2000/XP/Vista; \? UNIX/X11,包括Linux,Sun Solaris,HP-UX,HP Tru64 UNIX,IBM AIX,SGI IRIX等; \? Mac OS X,支持Mac OS X 10.3以上版本; \? 嵌入式Linux,包括支持framebuffer的所有Linux平台。 \Qt还支持嵌入式系统,Qt的嵌入式版本称为Qtopia Core,可以在多种处理器上运行,目标操作系统通常是嵌入式Linux。Qtopia Core应用程序直接使用framebuffer,而不是笨重的X Window系统。Qt相关的另一个产品——Qt Jambi,则是基于Qt库构建的,面向Java程序员的应用程序框架。另外,还有一些开源的在其他语言上的Qt绑定,如C#/Mono的绑定Qyoto,Python的绑定PyQt,Ruby的绑定QtRuby等。有了这些产品,编写Qt程序不再是C++程序员的专利了。 \Qt的发行版本有商业版和开源版。开源版遵循QPL(Q Public License)和GPL(GNU General Public License)协议,商业版则提供了一些特有的模块,如Windows平台上的ActiveQt框架,Oralce、DB2等商业数据库的驱动。本书主要介绍开源版的Qt 4.3。 \阅读本书的基础 \阅读本书的读者需要具有基本的C++程序设计知识,毕竟Qt是用C++编写的应用程序框架。如果要学习QtScript,还需要了解JavaScript。 \本书的结构 \本书共21章,每章讨论一个专题。章节安排上基本采用循序渐进、由浅到深的原则。但最后的高级篇中的章节没有很强的关联,可以按照随意的顺序阅读。每章内容及作者分述如下: \篇章 章 名 作者 内 容 简 介 页码 \初级篇 第1章 Qt初步实践 卢传富 建立了第一个较简单的Qt应用程序,在GUI用户界面中显示一行中文。 2 \ 第2章 对话框 \——QDialog 卢传富介绍了Qt的对话框类QDialog,实现了一个自定义的登录对话框,举例说明了Qt提供的内建对话框类的应用。 14 \ 第3章 基础窗口部件——QWidget 卢传富 \蔡志明首次引入Qt设计器的使用,绘制并实现了一个查找文件功能的部件,介绍了Qt应用程序中使用ui文件的基本方法以及Qt样式表;较深入地分析了Qt对象模型的一些基本知识,涉及信号和槽机制、Qt元对象系统、属性系统和对象树机制,以及部件类型和部件的几何布局等内容。 35 \ 第4章 程序主窗口—— QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和手写代码两种方法实现了简单文本编辑器主窗口界面的排布和管理。 87 \ 第5章 布局管理 卢传富布局管理是GUI应用程序编程的一个重要方面。Qt提供了多种布局管理部件,包括Qt布局管理器、分裂器、栈部件、工作空间部件和多文档区部件等。本章一一介绍了这些部件,并举例说明了它们在图形用户界面编程中的应用。 121 \中级篇 第6章 2D绘图 蔡志明本章内容较多,包括Qt的绘图要素、图形变换与坐标系统、绘图设备、图像处理、图像打印等。最后讲解了Qt 4图形系统的模型视图框架——Graphics View框架。 152 \ 第7章 拖放操作与剪贴板 蔡志明 本章简要地说明了基于MIME的拖放操作和剪贴板的使用,关于Graphics View框架的拖放操作也在本章。 212 \ 第8章 文件处理 蔡志明介绍了Qt的文件处理,包括基于流的文本文件和二进制文件处理,文件信息和目录操作,目录以及文件的变化监控,文件引擎的编写。 219 \ 第9章 网络 李立夏介绍了Qt的网络处理,包括编写常见的FTP、HTTP、UDP和TCP程序,以及访问底层网络接口信息和扩展Qt网络模块功能的方法。 227 \ 第10章 多线程 李立夏介绍了Qt的多线程处理,包括两方面内容:传统的线程操作,以及与Qt事件机制相关的操作。这一章还涉及较多的基本概念,并逐一做了介绍。 261 \ 第11章 事件机制 李立夏介绍了Qt的事件处理模型,详细介绍了在Qt程序设计中处理事件的五种方法,并讨论了如何利用Qt事件机制加快用户界面响应速度。 283 \ 第12章 数据库 李立夏介绍了Qt的数据库处理,重点介绍了如何在Qt中使用SQL语句进行数据库操作和如何利用QSqlTableModel这类高层次类进行常见的数据库编程。 297 \ 第13章 Qt的模板库和工具类 卢传富 \蔡志明 Qt提供了丰富的模板库和工具类,本章只是介绍了部分内容。在这一章,重点介绍了Qt的容器类、QString和QVariant类,简介了Qt的算法和Qt正则表达式的使用。 326 \ \ \续表 \篇章 章 名 作者 内 容 简 介 页码 \高级篇 第14章 XML 蔡志明对Qt中的三种XML解析方式(DOM、SAX和基于流的解析)进行了比较和举例。还讲解了如何使用API写XML文件。 348 \ 第15章 模型/视图结构 蔡志明阐述了Qt的模型/视图结构,分别对模型视图的三个组成部分(模型、视图和代理)进行了介绍,演示了如何自定义这些组成部分,并简要说明了拖放以及选中操作。 366 \ 第16章 高级绘图 蔡志明叙述了在Qt中如何使用OpenGL绘图,对基本的OpenGL绘图进行了讲解,介绍了矢量图型文件SVG的读写操作。 406 \ 第17章 进程间通信 李立夏 介绍进程和进程间通信的知识,重点介绍了Qt中桌面环境下基于D-Bus的多进程应用程序开发。 421 \ 第18章 Qt插件 蔡志明 说明了Qt的插件系统,并对Qt Designer插件、数据库插件、风格插件进行了较详细的介绍。 442 \ 第19章 脚本——QtScript 蔡志明 这是Qt 4.3中引入的最新内容,使得Qt能够支持ECMAScript脚本。本章简要地举例说明了在Qt中如何使用脚本,如何将C++对象暴露给脚本。 459 \ 第20章 国际化 骆艳 本章包括编码的处理,Qt Linguist的使用步骤,动态语言切换的内容。 468 \ 第21章 Qt单元测试框架 蔡志明 本章阐述了如何使用QTestLib框架进行数据测试、GUI测试。 478 \ 附录A~E 蔡志明附录中包括Qt在Linux、Windows、Solaris上的安装,KDevelop、Eclipse集成开发环境的使用,qmake的基本应用,Qt源代码分析举例,Qt资源。 485 \如何获取源代码 \由于Qt是跨平台的,因此书中的内容应用能够在Windows、Linux、UNIX和Mac OS上运行,书中的程序可能是在下列三种平台之一上编写:Windows XP/Vista、Linux(SuSE、Fedora Core或红旗)以及Solaris 10 SPARC/X86。因此书中的屏幕截图可能来源于其中的任何一种操作系统。 \要获取本书的源代码,可以访问博文视点资讯有限公司网站获取: \ www.broadview.com.cn。 \致谢 \本书在写作出版的过程中,得到了电子工业出版社孙学瑛编辑的大力帮助,没有她细致的工作和有益的建议,本书难以最终出版,在此,作者向孙学瑛编辑表示诚挚的谢意。 \问题反馈 \欢迎广大读者和专家对本书提出建议和批评。如果您认为书有错误或对我们有什么建议,可以联系jsj@phei.com.cn。 \ \蔡志明 卢传富 李立夏 \2007年11月30日于武汉5 1325浏览会员免费
- 仪表板大小:40KBQt 写的一个模拟汽车仪表盘的小demoQt 写的一个模拟汽车仪表盘的小demo5 1787浏览会员免费
- QTP大小:20MBTIB自动化测试工作室 http://www.cnblogs.com/testware/ ====================================================================== HP QuickTest Professional 10.0 Simplified Chinese User Interface Pack 自述文件 ====================================================================== 安装说明 ====================================================================== 要安装该 Simpilified Chinese User Interface Pack,请按照屏幕上的说明进行操作。 ====================================================================== 技术细节 ====================================================================== 注: 如果已安装 QuickTest Professional Simplified Chinese User Interface Pack,则安装修改 QuickTest 用户界面组件的补丁文件可能会导致已翻译的 用户界面元素恢复为英文版本。TIB自动化测试工作室 http://www.cnblogs.com/testware/ ====================================================================== HP QuickTest Professional 10.0 Simplified Chinese User Interface Pack 自述文件 ====================================================================== 安装说明 ====================================================================== 要安装该 Simpilified Chinese User Interface Pack,请按照屏幕上的说明进行操作。 ====================================================================== 技术细节 ====================================================================== 注: 如果已安装 QuickTest Professional Simplified Chinese User Interface Pack,则安装修改 QuickTest 用户界面组件的补丁文件可能会导致已翻译的 用户界面元素恢复为英文版本。4 122浏览会员免费
- 资源图片大小:5MB里面包含大量QQ资源图标,绝对物超所值!请相信我的人品与你的眼光,如果还在为找QQ资源发愁,请立即下载!里面包含大量QQ资源图标,绝对物超所值!请相信我的人品与你的眼光,如果还在为找QQ资源发愁,请立即下载!5 672浏览会员免费
- qwt大小:334KBqwt画实时曲线的小demo,我的开发环境是vs2008和Qt插件。新手可以看看,代码很简单。老手就不用下载浪费时间了qwt画实时曲线的小demo,我的开发环境是vs2008和Qt插件。新手可以看看,代码很简单。老手就不用下载浪费时间了5 1020浏览会员免费
- android大小:40MBQt on Android核心编程_完整版 PDF电子书Qt on Android核心编程_完整版 PDF电子书4 1218浏览会员免费
- Mac大小:585KB使用Qt模拟Mac Dock栏图标,包括图标缩放、镜像、弹跳效果。使用Qt模拟Mac Dock栏图标,包括图标缩放、镜像、弹跳效果。5 711浏览会员免费
- qt程序设计大小:7MBqt程序设计qt程序设计qt程序设计qt程序设计5 87浏览会员免费
- QML大小:3KBQML弹出窗口组件,灯箱效果、动画效果,可拖拽 核心思路:一个mask层,一个最顶层,都用rectangle,禁止事件穿透,动画效果 http://www.cnblogs.com/surfsky/p/3998391.htmlQML弹出窗口组件,灯箱效果、动画效果,可拖拽 核心思路:一个mask层,一个最顶层,都用rectangle,禁止事件穿透,动画效果 http://www.cnblogs.com/surfsky/p/3998391.html5 2511浏览会员免费
- VS2012大小:55MBqt-vs-addin-1.2.4-opensourceqt-vs-addin-1.2.4-opensource4 511浏览会员免费
- 玛丽奥医生大小:351KB自己做的QT玛丽奥医生的源代码,“山寨”了小时候的FC游戏玛丽奥医生。大致部分完成了...欢迎修改与讨论...作者email:42550821@qq.com..自己做的QT玛丽奥医生的源代码,“山寨”了小时候的FC游戏玛丽奥医生。大致部分完成了...欢迎修改与讨论...作者email:42550821@qq.com..5 337浏览会员免费
- 心电图大小:1MB用Qpainter实现绘制心电波形图。代码简单,数据随机产生,波形图每秒跳动一次用Qpainter实现绘制心电波形图。代码简单,数据随机产生,波形图每秒跳动一次4 2533浏览会员免费
- uart大小:26KB在主线程开启子线程初始化,读写串口数据,有数据就读,提取有效数据,并用信号将数据传送给主线程,创建界面对象,主线程通过开关按钮槽函数控制串口的打开关闭,图形的显示以及暂停,实时刷新波形。串口读取数据参考了博友的代码。在主线程开启子线程初始化,读写串口数据,有数据就读,提取有效数据,并用信号将数据传送给主线程,创建界面对象,主线程通过开关按钮槽函数控制串口的打开关闭,图形的显示以及暂停,实时刷新波形。串口读取数据参考了博友的代码。4 5657浏览会员免费
- qss大小:333KB本人实际项目中写的的qss, 皮肤图片是从delphi三方控件businessskin皮肤中切来的本人实际项目中写的的qss, 皮肤图片是从delphi三方控件businessskin皮肤中切来的5 219浏览会员免费
- 俄罗斯方块大小:8MB全新的界面,独特的设计,挑战你的想象!你是方块高手吗,挑战一下自己吧!全新的界面,独特的设计,挑战你的想象!你是方块高手吗,挑战一下自己吧!4 119浏览会员免费
- QT输入法大小:1MBQT4.5开发的软键盘中文输入法,内附简单使用说明! 有好的建议或程序可发送邮件到lanyf1@163.com进行交流!!QT4.5开发的软键盘中文输入法,内附简单使用说明! 有好的建议或程序可发送邮件到lanyf1@163.com进行交流!!5 272浏览会员免费
- API大小:7MB本文档是QT中文版本 内容详尽,下面是片段 信号 void activated ( int id ) 静态公有成员 QKeySequence shortcutKey ( const QString & str ) QString keyToString ( QKeySequence k ) (obsolete) QKeySequence stringToKey ( const QString & s ) (obsolete) 保护成员 virtual bool eventFilter ( QObject * o, QEvent * e ) -------------------------------------------------------------------------------- 详细描述 QAccel类用来处理键盘的加速键和快捷键。 键盘加速键是在某个组合键按下的时候出发一个动作,加速键可以处理窗口部件和它子部件里所有的键盘动作所以它不会被键盘焦点所影响。 在大多数情况下,你不需要直接使用这个类。使用QAction类建立的具有加速键的动作可以同时在菜单和工具栏里使用。如果你的兴趣只是在菜单里使用QMenuData::insertItem()或者QMenuData::setAccel()建立只作用在菜单里的加速键。那么许多窗口部件可以自动的生成加速键,比如QButton、QGroupBox、QLabel(使用QLabel::setBuddy())、QMenuBar和QTabBar。实例: QPushButton p( "&Exit", parent ); // 自动使用快捷键ALT+Key_E QPopupMenu *fileMenu = new fileMenu( parent ); fileMenu->insertItem( "Undo", parent, SLOT(undo()), CTRL+Key_Z ); QAccel包括一个加速键的列表,这个列表里的项目可以使用insertItem()、removeItem()、clear()、key()和findKey()。 每一个加速键项目是由一个标示符和 QKeySequence组成。一个单独的键组是由一个键盘码组合上改变符形成的(SHIFT,CTRL,ALT 或者 UNICODE_ACCEL)。例如,CTRL + Key_p可以作为文本打印的快捷键。这个键的键盘码在qnamespace.h里列出。还有,使用UNICODE_ACCEL可以使字符以统一码(unicode)的形式表现出来。例如 UNICODE_ACCEL + 'A' 所给出的加速键和Key_A是一样的。本文档是QT中文版本 内容详尽,下面是片段 信号 void activated ( int id ) 静态公有成员 QKeySequence shortcutKey ( const QString & str ) QString keyToString ( QKeySequence k ) (obsolete) QKeySequence stringToKey ( const QString & s ) (obsolete) 保护成员 virtual bool eventFilter ( QObject * o, QEvent * e ) -------------------------------------------------------------------------------- 详细描述 QAccel类用来处理键盘的加速键和快捷键。 键盘加速键是在某个组合键按下的时候出发一个动作,加速键可以处理窗口部件和它子部件里所有的键盘动作所以它不会被键盘焦点所影响。 在大多数情况下,你不需要直接使用这个类。使用QAction类建立的具有加速键的动作可以同时在菜单和工具栏里使用。如果你的兴趣只是在菜单里使用QMenuData::insertItem()或者QMenuData::setAccel()建立只作用在菜单里的加速键。那么许多窗口部件可以自动的生成加速键,比如QButton、QGroupBox、QLabel(使用QLabel::setBuddy())、QMenuBar和QTabBar。实例: QPushButton p( "&Exit", parent ); // 自动使用快捷键ALT+Key_E QPopupMenu *fileMenu = new fileMenu( parent ); fileMenu->insertItem( "Undo", parent, SLOT(undo()), CTRL+Key_Z ); QAccel包括一个加速键的列表,这个列表里的项目可以使用insertItem()、removeItem()、clear()、key()和findKey()。 每一个加速键项目是由一个标示符和 QKeySequence组成。一个单独的键组是由一个键盘码组合上改变符形成的(SHIFT,CTRL,ALT 或者 UNICODE_ACCEL)。例如,CTRL + Key_p可以作为文本打印的快捷键。这个键的键盘码在qnamespace.h里列出。还有,使用UNICODE_ACCEL可以使字符以统一码(unicode)的形式表现出来。例如 UNICODE_ACCEL + 'A' 所给出的加速键和Key_A是一样的。5 1628浏览会员免费
- QTP大小:1MBQTP教程,绝对经典的教程,内容详细并且实用,强烈推荐。免分QTP教程,绝对经典的教程,内容详细并且实用,强烈推荐。免分4 114浏览会员免费
- Qt源码大小:12MBQt Qt源码 Qt中的C++技术源码Qt Qt源码 Qt中的C++技术源码4 275浏览会员免费
- RAR大小:5MBDocument For QT;Linux下Qt编程入门;C+++GUI+Programming+with+Qt+4 (pdf)Document For QT;Linux下Qt编程入门;C+++GUI+Programming+with+Qt+4 (pdf)3 56浏览会员免费
- QT的图书管理系统大小:365KB基于QT的图书管理系统:QT界面设计,有嵌入式数据库的后台支持基于QT的图书管理系统:QT界面设计,有嵌入式数据库的后台支持5 1064浏览会员免费
- qml大小:11KBcharts.js 的qml封装,支持各种图表类型:柱形图、饼形图、环形图、折线图、极坐标图、雷达图。自带动画、样式精美,使用方便,代码量小。快抢啊。感觉自己快成王婆了 http://surfsky.cnblogs.comcharts.js 的qml封装,支持各种图表类型:柱形图、饼形图、环形图、折线图、极坐标图、雷达图。自带动画、样式精美,使用方便,代码量小。快抢啊。感觉自己快成王婆了 http://surfsky.cnblogs.com5 1353浏览会员免费
- RAR大小:6MB长沙威胜开发的电力基于QT的电力组态系统,图形部分做的非常的好,可以商业化得系统,支持模板,脚本,该有的都有了,部分源代码(绘图部分),不可多得的精品代码。长沙威胜开发的电力基于QT的电力组态系统,图形部分做的非常的好,可以商业化得系统,支持模板,脚本,该有的都有了,部分源代码(绘图部分),不可多得的精品代码。4 1535浏览会员免费
- QTP大小:353KBQTP SAFFRON框架 TIB自动化测试工作室: http://www.cnblogs.com/testware/QTP SAFFRON框架 TIB自动化测试工作室: http://www.cnblogs.com/testware/5 88浏览会员免费
- QTP大小:13MB《QTP自动化测试进阶》一书的附带源代码 http://www.china-pub.com/196842 《QTP自动化测试进阶》是《QTP自动化测试实践》的升级版 http://blog.csdn.net/Testing_is_believing/category/699049.aspx《QTP自动化测试进阶》一书的附带源代码 http://www.china-pub.com/196842 《QTP自动化测试进阶》是《QTP自动化测试实践》的升级版 http://blog.csdn.net/Testing_is_believing/category/699049.aspx5 87浏览会员免费