电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Qt入门教程-详细讲解版

91页
  • 卖家[上传人]:l****
  • 文档编号:60838558
  • 上传时间:2018-11-19
  • 文档格式:PDF
  • 文档大小:493.55KB
  • / 91 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、如何学习如何学习 Qt 我们假设你已经熟悉 C+了! 请先阅读一下 Qt 白皮书。它包含一个关于 Qt 软件的概述,并且提供了一些用来 示范使用 Qt 进行编程的代码的片断。它会给你一个“大的图画”。 如果你想要完全的在 C+中进行编程, 不使用任何设计工具的帮助下在代码中设 计你的界面,请阅读教程。教程 1 就是被设计成把你带入 Qt 编程的一个教程, 它更强调的是编写代码而不是一个特征的漫游。教程 2 是一个更加真实的例子, 示范了如何编写菜单、工具条、文件的载入和保存、对话框等地那个。 如果你想使用一个设计工具来设计你的用户界面,那么你至少要先阅读 Qt 设计 器手册的前几章。在这之后,学习一下上面提到的纯粹的 C+教程(教程 1 和教 程 2)还是很值得的。 到现在为止,如果你已经完成了一些小的可以工作的应用程序并且对 Qt 编程有 了一个主要的了解。你可以直接开始你自己的项目了,但我们建议你阅读一些关 键的概述来加深你对 Qt 的理解:对象模型和信号和槽。 在这里我们建议你看一下概述并且阅读一些和你的项目相关的文章。 你也许会发 现浏览和你项目做相同事情的实例的源代码是非常有

      2、用的。你也可以阅读 Qt 的 源代码,因为它们也被提供。 如果你运行demo这个应用程序(在$QTDIR/examples/demo),你就会看到很多运转 中的 Qt 窗口部件 Qt 提供了广泛的文档,完全前后参考的超文本,所以你可以很容易地按你喜欢 的方式进行点击。在文档中,你最经常使用的部分可能就是 API 参考。每一个 链接都提供了一个不同的方式来导航 API 参考,全都试试,看哪一个更适合你。 你现在应该已经准备好你的伟大工程:祝你好运,玩得开心! Qt 教程一教程一 共十四步共十四步 这个教程介绍了使用 Qt 工具包进行图形用户界面编程。 它没有包括所有的东西: 强调的是教授一种图形用户界面编程的编程思想,并且介绍 Qt 的特征也是必需 的。一些通常情况下使用的特征在这个教程里没有用到。 第一章开始讲述一个十行的 Hello World 程序并且后来的每一章都介绍了一个或 几个更多的概念。一直到第十四章,程序已经从第一章的十行变成了六百五十行 的游戏。 如果你对 Qt 完全不熟悉,如果你还没有读过如何学习 Qt 的话,请读一下。 教程章节: 1. Hello, World!

      3、2. 调用退出 3. 家庭价值 4. 使用窗口部件 5. 组装积木 6. 组装丰富的积木! 7. 一个事物领导另一个 8. 准备战斗 9. 你可以使用加农炮了 10. 像丝一样滑 11. 给它一个炮弹 12. 悬在空中的砖 13. 游戏结束 14. 面对墙壁 这个小游戏看起来不像一个现代的图形用户界面应用程序。 它只使用了有用的少 数图形用户界面技术, 但是如果你通过它工作之后, 我们建议你阅读一下教程二。 第二个教程更加正式一些, 并且覆盖了包括菜单条、 工具条、 文件的载入和保存、 对话框等典型应用程序的特征。 Qt 教程一教程一 第一章:第一章:Hello, World! 第一个程序是一个简单的 Hello World 例子。 它只包含你建立和运行 Qt 应用程序 所需要的最少的代码。上面的图片是这个程序的快照。 /* * * Qt 教程一 - 2 * */ #include #include int main( int argc, char *argv ) QApplication a( argc, argv ); QPushButton hello( “Hello world

      4、!“, 0 ); hello.resize( 100, 30 ); a.setMainWidget( hello.show(); return a.exec(); 一行一行地解说一行一行地解说 #include 这一行包含了 QApplication 类的定义。在每一个使用 Qt 的应用程序中都必须使 用一个 QApplication 对象。 QApplication 管理了各种各样的应用程序的广泛资源, 比如默认的字体和光标。 #include 这一行包含了 QPushButton 类的定义。 参考文档的文件的最上部分提到了使用哪 个类就必须包含哪个头文件的说明。 QPushButton 是一个经典的图形用户界面按钮,用户可以按下去,也可以放开。 它管理自己的观感,就像其它每一个 QWidget。一个窗口部件就是一个可以处理 用户输入和绘制图形的用户界面对象。 程序员可以改变它的全部观感和它的许多 主要的属性(比如颜色),还有这个窗口部件的内容。一个 QPushButton 可以显 示一段文本或者一个 QPixmap。 int main( int argc, char *argv )

      5、 main()函数是程序的入口。几乎在使用 Qt 的所有情况下,main()只需要在把控制 转交给Qt库之前执行一些初始化, 然后Qt库通过事件来向程序告知用户的行为。 argc是命令行变量的数量,argv是命令行变量的数组。这是一个 C/C+特征。它 不是 Qt 专有的,无论如何 Qt 需要处理这些变量(请看下面)。 QApplication a( argc, argv ); a是这个程序的 QApplication。它在这里被创建并且处理这些命令行变量(比如 在 X 窗口下的-display)。请注意,所有被 Qt 识别的命令行参数都会从argv中被 移除(并且argc也因此而减少)。关于细节请看 QApplication:argv()文档。 注意:注意:在任何 Qt 的窗口系统部件被使用之前创建 QApplication 对象是必须的。 QPushButton hello( “Hello world!“, 0 ); 这里, 在 QApplication之后, 接着的是第一个窗口系统代码: 一个按钮被创建了。 这个按钮被设置成显示“Hello world!”并且它自己构成了一个窗口

      6、(因为在构 造函数指定 0 为它的父窗口,在这个父窗口中按钮被定位)。 hello.resize( 100, 30 ); 这个按酒被设置成 100 像素宽,30 像素高(加上窗口系统边框)。在这种情况 下,我们不用考虑按钮的位置,并且我们接受默认值。 a.setMainWidget( 这个按钮被选为这个应用程序的主窗口部件。如果用户关闭了主窗口部件,应用 程序就退出了。 你不用必须设置一个主窗口部件,但绝大多数程序都有一个。 hello.show(); 当你创建一个窗口部件的时候, 它是不可见的。 你必须调用 show()来使它变为可 见的。 return a.exec(); 这里就是 main()把控制转交给 Qt,并且当应用程序退出的时候 exec()就会返回。 在 exec()中,Qt 接受并处理用户和系统的事件并且把它们传递给适当的窗口部 件。 你现在可以试着编译和运行这个程序了。 编译编译 编译一个 C+应用程序,你需要创建一个 makefile。创建一个 Qt 的 makefile 的 最容易的方法是使用 Qt 提供的连编工具 qmake。如果你已经把main.cpp保存到

      7、 它自己的目录了,你所要做的就是这些: qmake -project qmake 第一个命令调用 qmake 来生成一个.pro(项目)文件。第二个命令根据这个项目 文件来生成一个(系统相关的)makefile。你现在可以输入make(或者nmake,如 果你使用 Visual Studio),然后运行你的第一个 Qt 应用程序! 行为行为 当你运行它的时候,你就会看到一个被单一按钮充满的小窗口,在它上面你可以 读到著名的词:Hellow World! 练习练习 试着改变窗口的大小。按下按钮。如果你在 X 窗口下运行,使用-geometry 选项 (比如,-geometry 100x200+10+20)来运行这个程序。 现在你可以进行第二章了。 下一章 教程一主页 Qt 教程一教程一 第二章:调用退出第二章:调用退出 你已经在第一章中创建了一个窗口, 我们现在使这个应用程序在用户让它退出的 时候退出。 我们也会使用一个比默认字体更好的一个字体。 /* * * Qt 教程一 - 2 * */ #include #include #include int main( int argc, c

      8、har *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 ); 这时,按钮显示“Quit”,确切的说这就是当用户点击这个按钮时程序所要做的。 这不是一个巧合。 因为这个按钮是一个顶层窗口, 我们还是把 0 作为它的父对象。 quit.resize( 75, 30 ); 我们给这个按钮选择了另外一个大小,因为这个文本比“Hello world!”小一些。 我们也可以使用 Q

      9、FontMetrics 来设置正确的大小。 quit.setFont( QFont( “Times“, 18, QFont:Bold ) ); 这里我们给这个按钮选择了一个新字体,Times 字体中的 18 点加粗字体。注意 在这里我们调用了这个字体。 你也可以改变整个应用程序的默认字体(使用 QApplication:setFont())。 QObject:connect( connect 也许是 Qt 中最重要的特征了。注意 connect()是 QObject 中的一个静态函 数。不要把这个函数和 socket 库中的 connect()搞混了。 这一行在两个 Qt 对象(直接或间接继承 QObject 对象的对象)中建立了一种单 向的连接。每一个 Qt 对象都有signals(发送消息)和slots(接收消息)。所有 窗口部件都是 Qt 对象。它们继承 QWidget,而 QWidget 继承 QObject。 这里 quit 的 clicked()信号和 a 的 quit()槽连接起来了,所以当这个按钮被按下的 时候,这个程序就退出了。 信号和槽文档详细描述了这一主题。 行为行为 当你运行这个程序的时候,你会看到这个窗口比第一章中的那个小一些,并且被 一个更小的按钮充满。 (请看编译来学习如何创建一个 makefile 和连编应用程序。) 练习练习 试着改变窗口的大小。按下按钮。注意!connec

      《Qt入门教程-详细讲解版》由会员l****分享,可在线阅读,更多相关《Qt入门教程-详细讲解版》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.