Qt入门教程_详细讲解版.pdf

上传人:飞****9 文档编号:134117202 上传时间:2020-06-02 格式:PDF 页数:91 大小:555.82KB
返回 下载 相关 举报
Qt入门教程_详细讲解版.pdf_第1页
第1页 / 共91页
Qt入门教程_详细讲解版.pdf_第2页
第2页 / 共91页
Qt入门教程_详细讲解版.pdf_第3页
第3页 / 共91页
Qt入门教程_详细讲解版.pdf_第4页
第4页 / 共91页
Qt入门教程_详细讲解版.pdf_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《Qt入门教程_详细讲解版.pdf》由会员分享,可在线阅读,更多相关《Qt入门教程_详细讲解版.pdf(91页珍藏版)》请在金锄头文库上搜索。

1、如何学习如何学习 Qt 我们假设你已经熟悉 C 了 请先阅读一下 Qt 白皮书 它包含一个关于 Qt 软件的概述 并且提供了一些用来 示范使用 Qt 进行编程的代码的片断 它会给你一个 大的图画 如果你想要完全的在 C 中进行编程 不使用任何设计工具的帮助下在代码中设 计你的界面 请阅读教程 教程 1 就是被设计成把你带入 Qt 编程的一个教程 它更强调的是编写代码而不是一个特征的漫游 教程 2 是一个更加真实的例子 示范了如何编写菜单 工具条 文件的载入和保存 对话框等地那个 如果你想使用一个设计工具来设计你的用户界面 那么你至少要先阅读 Qt 设计 器手册的前几章 在这之后 学习一下上面提

2、到的纯粹的 C 教程 教程 1 和教 程 2 还是很值得的 到现在为止 如果你已经完成了一些小的可以工作的应用程序并且对 Qt 编程有 了一个主要的了解 你可以直接开始你自己的项目了 但我们建议你阅读一些关 键的概述来加深你对 Qt 的理解 对象模型和信号和槽 在这里我们建议你看一下概述并且阅读一些和你的项目相关的文章 你也许会发 现浏览和你项目做相同事情的实例的源代码是非常有用的 你也可以阅读 Qt 的 源代码 因为它们也被提供 如果你运行demo这个应用程序 在 QTDIR examples demo 你就会看到很多运转 中的 Qt 窗口部件 Qt 提供了广泛的文档 完全前后参考的超文本

3、所以你可以很容易地按你喜欢 的方式进行点击 在文档中 你最经常使用的部分可能就是 API 参考 每一个 链接都提供了一个不同的方式来导航 API 参考 全都试试 看哪一个更适合你 你现在应该已经准备好你的伟大工程 祝你好运 玩得开心 Qt 教程一教程一 共十四步共十四步 这个教程介绍了使用 Qt 工具包进行图形用户界面编程 它没有包括所有的东西 强调的是教授一种图形用户界面编程的编程思想 并且介绍 Qt 的特征也是必需 的 一些通常情况下使用的特征在这个教程里没有用到 第一章开始讲述一个十行的 Hello World 程序并且后来的每一章都介绍了一个或 几个更多的概念 一直到第十四章 程序已经

4、从第一章的十行变成了六百五十行 的游戏 如果你对 Qt 完全不熟悉 如果你还没有读过如何学习 Qt 的话 请读一下 教程章节 1 Hello World 2 调用退出 3 家庭价值 4 使用窗口部件 5 组装积木 6 组装丰富的积木 7 一个事物领导另一个 8 准备战斗 9 你可以使用加农炮了 10 像丝一样滑 11 给它一个炮弹 12 悬在空中的砖 13 游戏结束 14 面对墙壁 这个小游戏看起来不像一个现代的图形用户界面应用程序 它只使用了有用的少 数图形用户界面技术 但是如果你通过它工作之后 我们建议你阅读一下教程二 第二个教程更加正式一些 并且覆盖了包括菜单条 工具条 文件的载入和保存

5、 对话框等典型应用程序的特征 Qt 教程一教程一 第一章 第一章 Hello World 第一个程序是一个简单的 Hello World 例子 它只包含你建立和运行 Qt 应用程序 所需要的最少的代码 上面的图片是这个程序的快照 Qt 教程一 2 include include int main int argc char argv QApplication a argc argv QPushButton hello Hello world 0 hello resize 100 30 a setMainWidget hello show return a exec 一行一行地解说一行一行地解说

6、 include 这一行包含了 QApplication 类的定义 在每一个使用 Qt 的应用程序中都必须使 用一个 QApplication 对象 QApplication 管理了各种各样的应用程序的广泛资源 比如默认的字体和光标 include 这一行包含了 QPushButton 类的定义 参考文档的文件的最上部分提到了使用哪 个类就必须包含哪个头文件的说明 QPushButton 是一个经典的图形用户界面按钮 用户可以按下去 也可以放开 它管理自己的观感 就像其它每一个 QWidget 一个窗口部件就是一个可以处理 用户输入和绘制图形的用户界面对象 程序员可以改变它的全部观感和它的许多

7、 主要的属性 比如颜色 还有这个窗口部件的内容 一个 QPushButton 可以显 示一段文本或者一个 QPixmap int main int argc char argv main 函数是程序的入口 几乎在使用 Qt 的所有情况下 main 只需要在把控制 转交给Qt库之前执行一些初始化 然后Qt库通过事件来向程序告知用户的行为 argc是命令行变量的数量 argv是命令行变量的数组 这是一个 C C 特征 它 不是 Qt 专有的 无论如何 Qt 需要处理这些变量 请看下面 QApplication a argc argv a是这个程序的 QApplication 它在这里被创建并且处理

8、这些命令行变量 比如 在 X 窗口下的 display 请注意 所有被 Qt 识别的命令行参数都会从argv中被 移除 并且argc也因此而减少 关于细节请看 QApplication argv 文档 注意 注意 在任何 Qt 的窗口系统部件被使用之前创建 QApplication 对象是必须的 QPushButton hello Hello world 0 这里 在 QApplication之后 接着的是第一个窗口系统代码 一个按钮被创建了 这个按钮被设置成显示 Hello world 并且它自己构成了一个窗口 因为在构 造函数指定 0 为它的父窗口 在这个父窗口中按钮被定位 hello r

9、esize 100 30 这个按酒被设置成 100 像素宽 30 像素高 加上窗口系统边框 在这种情况 下 我们不用考虑按钮的位置 并且我们接受默认值 a setMainWidget 这个按钮被选为这个应用程序的主窗口部件 如果用户关闭了主窗口部件 应用 程序就退出了 你不用必须设置一个主窗口部件 但绝大多数程序都有一个 hello show 当你创建一个窗口部件的时候 它是不可见的 你必须调用 show 来使它变为可 见的 return a exec 这里就是 main 把控制转交给 Qt 并且当应用程序退出的时候 exec 就会返回 在 exec 中 Qt 接受并处理用户和系统的事件并且把

10、它们传递给适当的窗口部 件 你现在可以试着编译和运行这个程序了 编译编译 编译一个 C 应用程序 你需要创建一个 makefile 创建一个 Qt 的 makefile 的 最容易的方法是使用 Qt 提供的连编工具 qmake 如果你已经把main cpp保存到 它自己的目录了 你所要做的就是这些 qmake project qmake 第一个命令调用 qmake 来生成一个 pro 项目 文件 第二个命令根据这个项目 文件来生成一个 系统相关的 makefile 你现在可以输入make 或者nmake 如 果你使用 Visual Studio 然后运行你的第一个 Qt 应用程序 行为行为 当

11、你运行它的时候 你就会看到一个被单一按钮充满的小窗口 在它上面你可以 读到著名的词 Hellow World 练习练习 试着改变窗口的大小 按下按钮 如果你在 X 窗口下运行 使用 geometry 选项 比如 geometry 100 x200 10 20 来运行这个程序 现在你可以进行第二章了 下一章 教程一主页 Qt 教程一教程一 第二章 调用退出第二章 调用退出 你已经在第一章中创建了一个窗口 我们现在使这个应用程序在用户让它退出的 时候退出 我们也会使用一个比默认字体更好的一个字体 Qt 教程一 2 include include include int main int argc

12、char argv QApplication a argc argv QPushButton quit Quit 0 quit resize 75 30 quit setFont QFont Times 18 QFont Bold QObject connect a setMainWidget quit show return a exec 一行一行地解说一行一行地解说 include 因为这个程序使用了 QFont 所以它需要包含 qfont h Qt 的字体提取和 X 中提 供的可怕的字体提取大为不同 字体的载入和使用都已经被高度优化了 QPushButton quit Quit 0 这时

13、 按钮显示 Quit 确切的说这就是当用户点击这个按钮时程序所要做的 这不是一个巧合 因为这个按钮是一个顶层窗口 我们还是把 0 作为它的父对象 quit resize 75 30 我们给这个按钮选择了另外一个大小 因为这个文本比 Hello world 小一些 我们也可以使用 QFontMetrics 来设置正确的大小 quit setFont QFont Times 18 QFont Bold 这里我们给这个按钮选择了一个新字体 Times 字体中的 18 点加粗字体 注意 在这里我们调用了这个字体 你也可以改变整个应用程序的默认字体 使用 QApplication setFont QOb

14、ject connect connect 也许是 Qt 中最重要的特征了 注意 connect 是 QObject 中的一个静态函 数 不要把这个函数和 socket 库中的 connect 搞混了 这一行在两个 Qt 对象 直接或间接继承 QObject 对象的对象 中建立了一种单 向的连接 每一个 Qt 对象都有signals 发送消息 和slots 接收消息 所有 窗口部件都是 Qt 对象 它们继承 QWidget 而 QWidget 继承 QObject 这里 quit 的 clicked 信号和 a 的 quit 槽连接起来了 所以当这个按钮被按下的 时候 这个程序就退出了 信号和槽

15、文档详细描述了这一主题 行为行为 当你运行这个程序的时候 你会看到这个窗口比第一章中的那个小一些 并且被 一个更小的按钮充满 请看编译来学习如何创建一个 makefile 和连编应用程序 练习练习 试着改变窗口的大小 按下按钮 注意 connect 看起来会有一些不同 是不是在 QPushButton 中还有其它的你可以连接到 quit 的信号 提示 QPushButton 继承了 QButton 的绝大多数行为 现在你可以进行第三章了 Qt 教程一教程一 第三章 家庭价值第三章 家庭价值 这个例子演示了如何创建一个父窗口部件和子窗口部件 我们将会保持这个程序的简单性 并且只使用一个单一的父窗

16、口部件和一个独立 的子窗口部件 Qt 教程一 3 include include include include int main int argc char argv QApplication a argc argv QVBox box box resize 200 120 QPushButton quit Quit quit setFont QFont Times 18 QFont Bold QObject connect a setMainWidget box show return a exec 一行一行地解说一行一行地解说 include 我们添加了一个头文件 qvbox h 用来获得我们要使用的布局类 QVBox box 这里我们简单地创建了一个垂直的盒子容器 QVBox 把它的子窗口部件排成一 个垂直的行 一个在其它的上面 根据每一个子窗口部件的 QWidget sizePolicy 来安排空间 box resize 200 120 我们它的高设置为 120 像素 宽为 200 像素 QPushButton quit Quit 子窗口部件产生了 QPushButton 通

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号