logo资料库

Qt跨平台界面应用开发 - 王桂林老师总结的书籍.pdf

第1页 / 共133页
第2页 / 共133页
第3页 / 共133页
第4页 / 共133页
第5页 / 共133页
第6页 / 共133页
第7页 / 共133页
第8页 / 共133页
资料共133页,剩余部分请下载后查看
第一章 初步认识Qt
1 Qt简单介绍
1.1 什么是Qt
1.2 优良的跨平台特性
1.3 第一个Qt GUI应用
2 认识窗口
2.1 窗口大小
2.2 窗口坐标系
2.3 窗口关系
2.4 使用信号槽
3 Qt的编译机制
3.1 编译过程
3.2 qmake文件基本语法
4 内存管理机制
第二章 布局管理器
1 QHBoxLayout与QVBoxLayout
2 QGridLayout表格布局管理器
3 嵌套布局管理器
4 获取布局之后窗口大小
第三章 信号与槽机制
1 初步认识信号
3 信号与槽的链接
4 信号槽断开链接
5 自定义信号与槽
第四章 Qt Designer
1 使用设计师界面
2 ui文件的编译过程
第五章 窗口类QMainWindow
1 创建一个QMainWindow工程
2 菜单栏应用
2.1 添加菜单栏
2.2 添加菜单
2.3 添加动作
2.4 添加分隔符
2.5 添加子菜单
3 工具栏应用
3.1 添加工具栏
3.2 添加动作
4 状态栏应用
4.1 创建状态栏
4.2 设置状态栏信息
5 设置中央窗口
6 设置停靠窗口
第六章 模式对话框
1 QDailog与QWidget对比
2 触发一个模式对话框
3 模式窗口exec返回值
4 常见Dialog应用
4.1 QFileDialog文件浏览框
4.2 QFontDialog字体对话框
4.2.1 QFont类
4.2.2 获取系统支持的所有字体
4.2.3 QWidget的QFont对象
4.2.4 使用QFontDialog获取字体
4.3 QColorDialog颜色对话框
第七章QString与QByteArray
1 QString
2 QByteArray
3 QString 与 QByteArray的区别
4 QString QByteArray互转
4.1 QString转QByteArray
4.2 QByteArray转QString
4.3 QString 转char*
第八章 文件读写
1 使用QFile打开文件
2 关闭文件
3 文件读操作
4 文件写操作
5 使用QDataStream
第九章 事件处理机制
1 窗口事件处理函数event
2 鼠标事件
2.1 鼠标点击事件
2.2 鼠标释放事件
2.3 鼠标移动事件
2.4 鼠标滚轮事件
2.5 其它鼠标事件
3 键盘事件
3.1 键盘按下事件
3.2 键盘释放事件
3.3 设置焦点窗口
3.4 判断按键大小写
4 事件过滤器
5 事件传递过程
6 事件处理函数是如何被调用的
7 绘图事件
7.1 QPainter画家
7.2 在窗口上绘图
7.3 转变窗口坐标系
7.4 保存与还原QPainter设置
7.5 绘制事件触发的时机
第十章 2D绘图
1 在QPixmap上绘图
2 在QImage上绘图
3 在QPicture上绘图
4 绘制不规则窗体
第十一章 多线程
1 第一种创建线程方式
2 第二种创建线程方式
3 线程的同步
3.1 互斥锁
3.2 信号量
4 定时器
第十二章 图形视图框架
1 QGraphicsScene的常用函数
2 QGraphicsItem的常用函数
3 图形视图的坐标系
3.1 QGraphscItem图元坐标系
3.2 QGraphicsScene场景坐标系
3.3  QGraphicsView视图坐标系
3.4 坐标映射
3.5 调整坐标系
3.5.1 调整QGraphicsVeiw坐标系
3.5.2 调整QGraphicsItem坐标系
4 图形视图的事件处理
4.1 QGraphicsView的事件处理
4.2 QGraphicsScene的事件处理
4.3 QGraphicsItem的事件处理
5  图形视图的内存管理
6 图形视图碰撞检测
7 背景缓冲
8 打印QGraphicsScene
9 图形效果叠加
第十三章 QTableView
1 QTableView简单应用
2 修改行列字段名
3 移除数据
4 插入数据
5 数据变更信号处理
6 常用函数
7 QStandardItem被点选信号
8 QItemDelegate代理
第十四章 多国语言国际化
1 生成一个qm文件
2 时实切换qm文件
第十五章 多媒体编程
1 音频组件
1.1 最简单的音乐播放器的实现
1.2 常用函数
1.3 播放列表的使用
2 视频播放组件
2.1 使用QVideoWidget播放视频
2.2 使用QGraphicsVideoItem播放视频
第十六章 Qt应用程序的发布
第十七章 MySql的使用
1 使用QSqlDataBase
2 使用QSqlTableModel
2.1 在QTableView上显示
2.2 手动提交
2.3 撤销修改
2.4 过滤器
2.5 排序
2.6 添加一条记录
2.7 删除记录
2.8 综合例子
第一章 初步认识Qt 1 Qt简单介绍 1.1 什么是Qt 1.2 优良的跨平台特性 1.3 第一个Qt GUI应用 2 认识窗口 2.1 窗口大小 2.2 窗口坐标系 2.3 窗口关系 2.4 使用信号槽 3 Qt的编译机制 3.1 编译过程 3.2 qmake文件基本语法 4 内存管理机制 第二章 布局管理器 1 QHBoxLayout与QVBoxLayout 2  QGridLayout表格布局管理器 3 嵌套布局管理器 4 获取布局之后窗口大小 第三章 信号与槽机制 1  初步认识信号 3 信号与槽的链接 4 信号槽断开链接 5 自定义信号与槽 第四章 Qt Designer 1  使用设计师界面 2 ui文件的编译过程 第五章 窗口类QMainWindow 1 创建一个QMainWindow工程 2 菜单栏应用 2.1 添加菜单栏 2.2 添加菜单 2.3 添加动作 2.4 添加分隔符 2.5 添加子菜单 3 工具栏应用 3.1 添加工具栏 3.2 添加动作 4 状态栏应用 4.1 创建状态栏 4.2 设置状态栏信息 5 设置中央窗口 6 设置停靠窗口 第六章 模式对话框 1 QDailog与QWidget对比 2 触发一个模式对话框 3 模式窗口exec返回值 4 常见Dialog应用 4.1  QFileDialog文件浏览框 4.2 QFontDialog字体对话框 4.2.1 QFont类
4.2.2 获取系统支持的所有字体 4.2.3 QWidget的QFont对象 4.2.4 使用QFontDialog获取字体 4.3 QColorDialog颜色对话框 第七章QString与QByteArray 1 QString 2 QByteArray 3  QString 与 QByteArray的区别 4 QString QByteArray互转 4.1 QString转QByteArray 4.2 QByteArray转QString 4.3 QString 转char* 第八章 文件读写 1 使用QFile打开文件 2 关闭文件 3 文件读操作 4 文件写操作 5 使用QDataStream 第九章 事件处理机制 1 窗口事件处理函数event 2 鼠标事件 2.1 鼠标点击事件 2.2 鼠标释放事件 2.3 鼠标移动事件 2.4 鼠标滚轮事件 2.5 其它鼠标事件 3 键盘事件 3.1 键盘按下事件 3.2 键盘释放事件 3.3 设置焦点窗口 3.4 判断按键大小写 4 事件过滤器 5 事件传递过程 6 事件处理函数是如何被调用的 7 绘图事件 7.1 QPainter画家 7.2 在窗口上绘图 7.3  转变窗口坐标系 7.4 保存与还原QPainter设置 7.5 绘制事件触发的时机 第十章 2D绘图 1 在QPixmap上绘图 2 在QImage上绘图 3 在QPicture上绘图 4 绘制不规则窗体 第十一章 多线程 1 第一种创建线程方式 2 第二种创建线程方式 3 线程的同步 3.1 互斥锁 3.2 信号量 4 定时器 第十二章 图形视图框架
1 QGraphicsScene的常用函数 2 QGraphicsItem的常用函数 3 图形视图的坐标系 3.1 QGraphscItem图元坐标系 3.2  QGraphicsScene场景坐标系 3.3  QGraphicsView视图坐标系 3.4 坐标映射 3.5 调整坐标系 3.5.1 调整QGraphicsVeiw坐标系 3.5.2  调整QGraphicsItem坐标系 4  图形视图的事件处理 4.1 QGraphicsView的事件处理 4.2  QGraphicsScene的事件处理 4.3 QGraphicsItem的事件处理 5  图形视图的内存管理 6 图形视图碰撞检测 7 背景缓冲 8 打印QGraphicsScene 9 图形效果叠加 第十三章 QTableView 1 QTableView简单应用 2 修改行列字段名 3 移除数据 4 插入数据 5 数据变更信号处理 6 常用函数 7 QStandardItem被点选信号 8 QItemDelegate代理 第十四章  多国语言国际化 1 生成一个qm文件 2 时实切换qm文件 第十五章  多媒体编程 1 音频组件 1.1 最简单的音乐播放器的实现 1.2 常用函数 1.3 播放列表的使用 2 视频播放组件 2.1 使用QVideoWidget播放视频 2.2 使用QGraphicsVideoItem播放视频 第十六章 Qt应用程序的发布 第十七章 MySql的使用 1 使用QSqlDataBase 2 使用QSqlTableModel 2.1 在QTableView上显示 2.2 手动提交 2.3 撤销修改 2.4 过滤器 2.5 排序 2.6 添加一条记录 2.7 删除记录 2.8 综合例子
第一章 初步认识Qt 1 Qt简单介绍 1.1 什么是Qt       Qt是1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI(Graphical     User Interface)程序,也可用于开发非GUI程序,比如控制台程序。与windows上面的MFC是同一类东西。它提供 给应用程序开发者建立艺术级的图形用户界面所需的所有功能,并且Qt很容易扩展。   Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为    支持跨平台开发而设计的IDE(integrated development environment),并确保首次接触Qt框架的开发人员能迅速上手 和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。 Qt真正指的是Qt库,并不是Qt Creator,官网上面的Qt版本号5.7.0也是指的是Qt库的版本,开发者也可以使    用VS集成开发环境来开发基于Qt的应用程序。 1.2 优良的跨平台特性   Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP­    UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。 Qt在各个平台上都封装了同一套对外的编程接口API(Application Program Interface),开发者可以在一个平台上    编写Qt程序, 同时可以将不经过任何修改的代码放到其它平台中编译, 可以生成对应平台的应用程序.    简单来说,就是一份代码到处编译。
1.3 第一个Qt GUI应用   使用Qt Creator集成开发环境开发应用是通过qmake来组建项目,qmake与cmake类似,qmake语法更简单,    cmake功能更强大。 qmake能够自动生成Makefile、Microsoft Visual Studio 专案文件。不管源代码是否是用Qt写的,都能使用    qmake,因此qmake能用于很多软件的构建过程,qmake文件的后缀一般为.pro。 1.  新建qmake空项目,添加main.cpp源文件 2.  编写.pro项目工程qmake文件,加上QT变量         1.  main.cpp中添加QApplication头文件,并且实例化 #include    int main(int argc, char** argv) {     QApplication app(argc, argv); //每个Qt应用只能有一个QApplication对象,QApplication对象主要 用来处理主程序控制流和主要设置。 } 2.  添加QWidget头文件,实例化对象,调用QWidget对象的show函数显示   #include  #include  int main(int argc, char** argv) {     QApplication app(argc, argv);     QWidget widget; //Qt中每个窗口都是QWidget对象,或者其派生类的对象。     widget.show(); } 3.  调用QApplication::exec()消息循环, 接受来自桌面系统的消息
#include    #include  int main(int argc, char** argv) {     QApplication app(argc, argv);     QWidget widget;     widget.show();     return app.exec(); //消息循环,消息泵,阻塞接收桌面系统传递过来的消息。 } 4.  设置窗口标题   #include  #include  int main(int argc, char** argv) {     QApplication app(argc, argv);     QWidget widget;     widget.setWindowTitle("helloworld");     widget.show();     return app.exec(); } 重要知识:    1、Qt中大部分的类都是继承至QObject,QObject是最基本的类, 通过帮助文档可查看继承关系。 2、QApplication用来管理界面应用的控制流以及主要的程序设置。在Qt中不管有多少的窗口,QApplication实    例对象都只有一个。    3、QWidget 在Qt中是所有窗口类的基类。 2 认识窗口 2.1 窗口大小    
   Qt中每一个窗口都可以设置其窗口大小,以像素为单位。 void QWidget::resize(int w, int h) //设置窗口大小   QSize size() const   //获取窗口大小,返回的是QSize,QSize封装了宽高 2.2 窗口坐标系 Qt中每一个窗口都有一个坐标系统,默认的,窗口左上角为坐标原点,水平向右依次增大,水平向左依次减    小,垂直向下依次增大,垂直向上依次减小。原点即为(0,0)点,以像素为单位增减。      如图:     2.3 窗口关系    
普通窗口可以以顶级窗口方式显示,比如直接调用show函数来显示;也可以嵌套在其它窗口上来显示,这个    时候被嵌套的窗口叫做父窗口,嵌套的窗口叫做子窗口。(注意:父子窗口是对象间的组合关系,不是父子类 继承关系) 子窗口位置坐标参考的是父窗口的坐标系。 顶级窗口其父窗口就是桌面,桌面也可以认为是一个窗口。         设置父窗口 void QWidget::setParent(QWidget *parent)   例如: #include    #include  #include  int main(int argc, char** argv) {     QApplication app(argc, argv);     QWidget widget;     QPushButton pb;     pb.setParent(&widget);  //注意将按钮嵌套到widget窗口中的时候,必须在widget对象调用show函数之前, 否则pb窗口不显示。     widget.show();     return app.exec(); } 设置窗口位置坐标 void QWidget::move(int w, int h)   //设置窗口位置,单位像素   void QWidget::setGeometry(int x, int y, int w, int h) //设置窗口几何属性,坐标与大小,单位像素 QPoint pos() const     //获取窗口位置,返回QPoint类对象,QPoint封装了x、y坐标 注意:窗口移动的作用点是该窗口的坐标原点,也就是窗口的左上角。 2.4 使用信号槽   信号和槽用于两个QObject对象或者其派生类之间的通信,信号和槽机制是Qt的核心特征,也是Qt不同于其它    开发框架的最突出的特征。 例如:QPushButton对象点击之后会发射出一个clicked()信号,我们现在要把这个信号传递给QWidget对象,    并且让QWidget对象调用close()函数关闭窗口。 那么要使用到QObject的一个静态函数connect:
分享到:
收藏