- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Qt快速开发指南
七、环境搭建 所需构件:Qt库+gcc+IDE Qt库需要根据平台下载:分win、linux、mac IDE可为:Qt Creator, VS, Ecllipse, Code blocks VS和Ecllipse需要下载插件 * 一、Qt简介 Qt原为trolltech出品,后被Nokia收购。 Logo:Code less, Create more. Develop everywhere. Qt完全基于C++,具有跨平台的能力和国际化支持。 应用项目:linux下的KDE,Autodesk的Maya2011 二、实例演示( Qt 自带实例) 1. 40000 chips 2. Animated Titles 3. Dynamic layouts 4. Boxes 5. Puzzle 二、Qt部件 (一)强大的UI编辑器,Designer (二)类似MSDN的帮助文档Assitant (三)直观的实例展示Qt demo (四)轻量而快捷的IDE:Qt creator (五)翻译工具:Qt Linguist (一)Designer 1. 所见即所得:几乎所有的图元属性都可以在Designer上直接修改。 2. 更多的控件支持:LcdNumber、富文本edit、日历、视频播放、spinBox等 3. 图元的坐标显示和控制 4. 图元布局(layout) 5. 信号/槽编辑器,动作(action)编辑器 6. 提升窗口对象(Promote) (二) Assitant 1. IDE中可使用F1快捷方式 2. 富文本:更丰富的表现方式 3. 查找关键字时的高亮显示 4. 简洁而更清晰方便的查找体验 5. 与example工程的无缝结合 (三) Qt demo 1. 直观获取Qt的体验和功能 2. 迅速查找示例代码的利器 (四) Qt creator 1. 占用空间小 2. 简洁直观的界面显示 3. 与Eclipse类似的快捷操作:多行注释(ctrl+/),多行Tab,迅速定位(ctrl+鼠标单击), 已打开文件的切换(shift+tab) 4 .h和.cpp的切换(F4),迅速返回Edit(Esc) 5. 即时语法错误检查和提示 6. 查找时的高亮显示 三、signal-slot机制 (一)优点 (二)语法 (三)使用方法 (四)注意事项 (一)优点 1. 比起event/msg机制更为灵活 2. 可以传递更多的参数 3. 发送方和接受方可以互不知道对方存在,更符合面向对象的设计以及利于金字塔的模式。 4. Observer的设计模式 5. 线程安全 (二)语法 1. signal是发送方,slot为接收方(也可以是另外的signal) 2. 连接方向:多对对,一个signal可以发送给多个slot/signal,多个signal可以发送给一个slot/signal 3. signal和slot都可以接受参数,参数类型和个数不限。但是接收方的参数不能大于发送方,参数类型保持一致。 4. 祖先类必须是QObject 5. .h文件中需要声明宏:Q_OBJECT 6. slot可以当作普通function调用 (三)使用方法 1. 定义signal和slot 2. 实例化发送者、接收者 3. 创建连接:connect ( const QObject *?sender, SIGNAL(signal_method), const QObject *?receiver, SLOT(slot_method)?) 4. 发送信号emit signal (四)注意事项 1. 祖先类必须是QObject,添加Q_OBJECT宏 2. connect之前,发送方和接收方必须先创建 3. connect之后,发送方或接收方的指针指向新的实体,连接不会自动更新,需要重新建立。 4. 有些特殊情况,需要先断开连接,使用disconnect 5. 当发送方或接受方有一个销毁后,连接自动断开 6. 使用自定义的类型作为参数时,需要先使用qRegisterMetaType注册类型。 7. 线程间的交互建议使用signal-slot 8. 所有建立的连接会记录在一个列表,并通过锁保护,所以减少不必要的连接 四、Qt特性 1. 跨平台和国际化支持 2. No IDD/IDC,No hwnd,No doc 3.更好的M/V/C框架 4. 跟Vc相比,更面向对象:没有结构体;图元表现的变更只需要改变其属性,基本不需要重载事件;代码更简洁 5. 更好的库设计:例如QImage,几乎支持所有图片类型;set/get的对应 6.
文档评论(0)