狠狠撸

狠狠撸Share a Scribd company logo
开源俱乐部  汤砚晗 2010.12.14 C++ GUI QT4  编程 Qt by Nokia Code less, think more
什么是 QT Qt 是  Q toolkit 的缩写, Qt  是一个跨平台的  C++  图形用户界面库,由挪威  TrollTech  公司于 1995 年底出品。 TrollTech 公司是一个伟大的小公司, TrollTech 存在期间, Qt 发展成为不但包括一套跨平台图形库,而且包括若干非常方便和智能化的构建工具, 2000 年该公司发布了 Qt/Embedded linux, 如今,介绍嵌入式 linux 的书籍必定会介绍 Qt 的图形库移植。 KDE 桌面环境是 linux 下一个极为绚丽的桌面系统,最初由 Qt 开发,如今 Qt 已成为 linux 下开发 C++ 图形界面的事实标准 Google Earth 、 Skype 、 Photoshop Elements 等等正是使用 Trolltech 公司的 Qt 工具包进行开发的 2008 年 1 月 28 日, TrollTech 公司被 Nokia 以 1.53 亿美元收购, Nokia 随后在 2009 年推出第一个官方 IDE  : Qt Creator 这个幻灯片正是根据一本同名书命名的,该书最初出版于 2007 年,因此 没有介绍 Qt Creator
为什么选择 QT ? Qt 是一个跨平台的开发框架,横跨包括 Unix/Linux/Mac/Windows/Meego 等常见操作系统平台,并支持如 Symbian/Window CE/ 单片机等多种嵌入式平台。“一次编写,随处编译”,即同样的代码,只需在新的系统上重新编译即完成了移植,大大降低了移植成本 Qt 使用标准的面向对象机制,支持使用 C++ 进行开发。如果使用 Qyoto 和 Qt Jambi ,同样可以使用 C# 和 Java 进行开发 Qt 拥有 250 个以上的 C++ 类,包含了无数方法,接口全部使用统一、友好的方式命名,对于一些没用过的方法不查文档也可以知道用法 Qt 具有丰富的工具和帮助文档,可以实现一键查询用法 XML 支持和 Webkit 引擎集成 QT 遵循商业和开源双重协议 被 Nokia 合并后, Nokia 即将以 Qt 作为塞班和 meego 的标准开发框架, Android 是近几年才出现的名词,但是 Qt 在嵌入式领域已经发展了 10 年 Meego : Intel 和 Nokia 为了对抗 Chrome OS 而开发的 linux 内核操作系统, 现已经应用于平板电脑和上网本
Next Limit Technologies 的 RealFlow 4  移植案例 当包括迪斯尼和  Pixar  在内的制片厂和视觉效果工作室需要生成水花飞溅、喷涌和漩涡效果时,他们常常求助于  Next Limit Technologies  及其  RealFlow  模拟软件。 Next Limit  于  2007  年因其出色的工作赢得了奥斯卡技术成就奖,这一成就让电影工作者可以逼真地绘制出水和其他液体的流动。  RealFlow  最初是基于  Windows  开发的应用程序,但却受到倾向于  Linux  的潜在客户的热捧。因此  Next Limit  没有将  Win32  代码移植到  Linux ,而是使用  Qt  重新构建了软件。  Next Limit  开发人员只用了两个月就将  RealFlow  移植到  Qt 。  Next Limit RealFlow  产物技术主管  Angel Tena  说“实在是太容易了。 Qt  类设计的很好并易于使用。我们甚至常常不必去看文档。我们只要想出函数的名称,就会发现有一堆的函数可用。”
Qt by Nokia Qt SDK 的安装和使用 面向对象的 Qt Qt 的 signal/slot 机制 Qt 工具链的缺陷 1 2 3 4
1.Qt SDK 的安装和使用 先到网上搜索“ Qt  下载”,即可找到诺基亚官网上的下载链接 下载相应平台下的安装文件, Windows 下直接双击运行安装, linux 等一般须在终端启动之 安装完成后, Windows 平台下应当进行环境变量配置,使程序启动时能够找到库 菜单中找到 Qt Creator, 点击运行即可 (演示: Qt Creator 的应用)
Qt Creator 集成的构件 一个类 Vim 编辑器(支持语法高亮 / 自动补全 / 自动检查 / 正则表达式查找 / 代码折叠等) 一个编译器( Windows 下默认为 mingw ,其他平台通常为 g++ ) 一个调试器( Qdebug ) 版本控制系统( Git/SVN/CVS 等,需自行配置) 无处不在的文档帮助系统 assistant 窗体设计器 designer (支持控件直接拖放) 语言翻译器 linguist( 支持程序的多语言翻译) 演示例程系统 qt demo( 包含覆盖主要 Qt 应用的例程源码及文档) 程序测试编写与集成模块 若干工具链程序,甚至包括 Qt3 代码到 Qt4 代码的转换器(有人见过 VC6 转 VC.NET 的转换器了吗)
Qt 的传统用法 Qt Creator 之前,已经有一些人开发了 IDE ,如 linux 下的 KDevelop 。但是也有人喜欢直接使用 Qt 的工具链进行应用程序的构建 (演示:直接使用终端工具构建 ) 构建步骤: 建立文件夹,以工程名命名,书写源代码 目录下运行  qmake -project  ( Windows 下使用  Command Prompt 而不是操作系统自己的命令行) qmake  工程名 .pro make
面向对象的 Qt 整个 Qt 是严格按照面向对象设计思想设计和实现的,因此 Qt 类给人的感觉是很简单,易于使用, signal/slot 机制比起其他 GUI 开发库的机制更为简单灵活 但是这也意味着使用 Qt 开发程序,就不可能像 MFC 框架或者 Win32 编程那样可以不考虑设计就做出程序,你必须设计好数据流和控制流的走向,否则将来开发稍大规模的程序就容易陷入困境。 signal 和 slot 必须是类才能使用,功能完备的程序必须以类为主体,这点上类似于 java 无论是使用控件拖放产生的窗体,还是直接使用代码创建的界面,都最终使用继承或集成的方式被主体代码所使用
Qt 的 signal/slot 机制 GUI 程序与传统命令行略有不同,程序停在一个时间循环中等待用户事件,每个开发库通常都会有一套机制来响应外界的事件(如鼠标点击,键盘命令等),如 Windows 下 MFC 的消息响应机制, linux 下 GTK 的 callback 机制等。 Qt 的则为 signal/slot 机制 signal 即信号, slot 即槽,在 Qt 中他们都是以自定义函数形式存在的。任何一个类只要类体前部书写  Q_OBJECT 即可使用 Qt 的信号 / 槽机制。 假设我规定:我喊“一”,一个同学马上站起来,那么这个“一”就是我这个对象发出的信号,“站起来 " 就是这位同学(对象)的槽,而这个规定的过程,就是简单的通过一句 connect 来完成: connect( 我 ,SIGNAL( 喊一 ), 某同学, SLOT( 站起来 )); 这样以后只要我喊一,这位同学就会站起来,正如你刚才所看到的代码一样
signal 和 slot 在类体内通常声明为 void 型成员函数,允许带参数 signal  不需要实体, slot 必须要有实体,否则错误就同声明一个函数却没有实体一样,会发生链接错误 深度解释: signal/slot 机制是利用 C++ 语言实现的一个巧妙机制,本质上仍然是 C++ 。经过 connect 之后,所有发出信号的地方,在预处理过程中都会被插入相应的 slot 代码,这就完成了对 signal 的响应。 这一点决定了 Qt 程序与 MFC 等程序的决定性不同。记住这一点,将来会对你处理某些棘手问题有帮助
Qt 缺陷与不足 Qt Creator 是 Nokia 并购 TrollTech 后出品的 IDE 环境,因此仍与较多问题,其中有些问题可能会对初学者造成障碍,因此这里提出一二以供参考: 目前 Qt Creator 代码编辑器有时会出现自动补全失效的问题,属于正常现象(未解决的 bug 只好接受了),不要急躁 Qt Creator 下方的错误信息显示不完整,有时如一些链接错误的输出信息不会被正确捕捉,建议出现诸如  Collect lld returned -1 status 这样不甚明了的信息时,在终端中手动 make 一下,同样的还有运行时程序的意外退出, linux 下诸如内存越界这样的问题也只会提示“  application terminated unexpectedly” ,像程序需要特殊权限(如 linux/unix) 系统下就更不用说了 Qt 跨平台的代价是需要较多的依赖库。尽管我们知道 MFC 程序同样需要很多库,但是这些库都已经被微软放到系统文件夹下了,即使是现在的 .Net 框架也已经是默认安装好了,但是 Windows 毕竟不是 Nokia 的产物,所以程序要么静态编译成比较大的文件,要么带许多库。总之,不是用来编写小程序在别人电脑上直接 YY 的理想平台
感谢您的关注 Opensource Club of CUMT
?

More Related Content

Viewers also liked (6)

Qt Developer Days 2009 Keynote - Portable UIs
Qt Developer Days 2009 Keynote - Portable UIsQt Developer Days 2009 Keynote - Portable UIs
Qt Developer Days 2009 Keynote - Portable UIs
account inactive
?
Knowit study group ?rnsk?ldsvik - introduction to qt & qt creator
Knowit   study group ?rnsk?ldsvik - introduction to qt & qt creatorKnowit   study group ?rnsk?ldsvik - introduction to qt & qt creator
Knowit study group ?rnsk?ldsvik - introduction to qt & qt creator
Mathias Westin
?
Qt Framework Events Signals Threads
Qt Framework Events Signals ThreadsQt Framework Events Signals Threads
Qt Framework Events Signals Threads
Neera Mital
?
Meet Qt
Meet QtMeet Qt
Meet Qt
account inactive
?
The Future of Qt Widgets
The Future of Qt WidgetsThe Future of Qt Widgets
The Future of Qt Widgets
account inactive
?
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
account inactive
?
Qt Developer Days 2009 Keynote - Portable UIs
Qt Developer Days 2009 Keynote - Portable UIsQt Developer Days 2009 Keynote - Portable UIs
Qt Developer Days 2009 Keynote - Portable UIs
account inactive
?
Knowit study group ?rnsk?ldsvik - introduction to qt & qt creator
Knowit   study group ?rnsk?ldsvik - introduction to qt & qt creatorKnowit   study group ?rnsk?ldsvik - introduction to qt & qt creator
Knowit study group ?rnsk?ldsvik - introduction to qt & qt creator
Mathias Westin
?
Qt Framework Events Signals Threads
Qt Framework Events Signals ThreadsQt Framework Events Signals Threads
Qt Framework Events Signals Threads
Neera Mital
?
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
account inactive
?

Similar to C++ gui qt (20)

使用Qt+和open gl?+创建跨平台可视化ui
使用Qt+和open gl?+创建跨平台可视化ui使用Qt+和open gl?+创建跨平台可视化ui
使用Qt+和open gl?+创建跨平台可视化ui
lsdsjy
?
超酷炫科幻 UI:QML 入門
超酷炫科幻 UI:QML 入門超酷炫科幻 UI:QML 入門
超酷炫科幻 UI:QML 入門
Fred Chien
?
QIoT ,QuAI
QIoT ,QuAI  QIoT ,QuAI
QIoT ,QuAI
Stacy Cheng
?
全新的蚕迟5
全新的蚕迟5全新的蚕迟5
全新的蚕迟5
Yunqiao Yin
?
Linux二十周年 -致辞
Linux二十周年 -致辞Linux二十周年 -致辞
Linux二十周年 -致辞
Wensong Zhang
?
Python&GUI
Python&GUIPython&GUI
Python&GUI
Leo Zhou
?
嵌入式 RFID 打卡系統
嵌入式 RFID 打卡系統嵌入式 RFID 打卡系統
嵌入式 RFID 打卡系統
艾鍗科技
?
Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化
51CTO
?
1 docker风起云ppt v1
1 docker风起云ppt v11 docker风起云ppt v1
1 docker风起云ppt v1
Jiang Shang
?
分布式应用程序设计利器-颈肠别
分布式应用程序设计利器-颈肠别分布式应用程序设计利器-颈肠别
分布式应用程序设计利器-颈肠别
Tony Deng
?
美团点评技术沙龙14美团云-顿辞肠办别谤平台
美团点评技术沙龙14美团云-顿辞肠办别谤平台美团点评技术沙龙14美团云-顿辞肠办别谤平台
美团点评技术沙龙14美团云-顿辞肠办别谤平台
美团点评技术团队
?
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC
?
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理
frankwsj
?
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 docker
Ray Lin
?
Picoway Company Profile V1.5
Picoway Company Profile V1.5Picoway Company Profile V1.5
Picoway Company Profile V1.5
picoway
?
Picoway Company Profile 1.5
Picoway Company Profile 1.5Picoway Company Profile 1.5
Picoway Company Profile 1.5
picoway
?
桃园市教育局顿辞肠办别谤技术入门与实作
桃园市教育局顿辞肠办别谤技术入门与实作桃园市教育局顿辞肠办别谤技术入门与实作
桃园市教育局顿辞肠办别谤技术入门与实作
Philip Zheng
?
云计算与狈辞厂蚕尝
云计算与狈辞厂蚕尝云计算与狈辞厂蚕尝
云计算与狈辞厂蚕尝
ikewu83
?
2021 ee大会-旷视ai产物背后的研发效能工具建设
2021 ee大会-旷视ai产物背后的研发效能工具建设2021 ee大会-旷视ai产物背后的研发效能工具建设
2021 ee大会-旷视ai产物背后的研发效能工具建设
Tianwei Liu
?
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
LainZQ
?
使用Qt+和open gl?+创建跨平台可视化ui
使用Qt+和open gl?+创建跨平台可视化ui使用Qt+和open gl?+创建跨平台可视化ui
使用Qt+和open gl?+创建跨平台可视化ui
lsdsjy
?
超酷炫科幻 UI:QML 入門
超酷炫科幻 UI:QML 入門超酷炫科幻 UI:QML 入門
超酷炫科幻 UI:QML 入門
Fred Chien
?
Linux二十周年 -致辞
Linux二十周年 -致辞Linux二十周年 -致辞
Linux二十周年 -致辞
Wensong Zhang
?
嵌入式 RFID 打卡系統
嵌入式 RFID 打卡系統嵌入式 RFID 打卡系統
嵌入式 RFID 打卡系統
艾鍗科技
?
Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化
51CTO
?
1 docker风起云ppt v1
1 docker风起云ppt v11 docker风起云ppt v1
1 docker风起云ppt v1
Jiang Shang
?
分布式应用程序设计利器-颈肠别
分布式应用程序设计利器-颈肠别分布式应用程序设计利器-颈肠别
分布式应用程序设计利器-颈肠别
Tony Deng
?
美团点评技术沙龙14美团云-顿辞肠办别谤平台
美团点评技术沙龙14美团云-顿辞肠办别谤平台美团点评技术沙龙14美团云-顿辞肠办别谤平台
美团点评技术沙龙14美团云-顿辞肠办别谤平台
美团点评技术团队
?
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC
?
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理
frankwsj
?
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 docker
Ray Lin
?
Picoway Company Profile V1.5
Picoway Company Profile V1.5Picoway Company Profile V1.5
Picoway Company Profile V1.5
picoway
?
Picoway Company Profile 1.5
Picoway Company Profile 1.5Picoway Company Profile 1.5
Picoway Company Profile 1.5
picoway
?
桃园市教育局顿辞肠办别谤技术入门与实作
桃园市教育局顿辞肠办别谤技术入门与实作桃园市教育局顿辞肠办别谤技术入门与实作
桃园市教育局顿辞肠办别谤技术入门与实作
Philip Zheng
?
云计算与狈辞厂蚕尝
云计算与狈辞厂蚕尝云计算与狈辞厂蚕尝
云计算与狈辞厂蚕尝
ikewu83
?
2021 ee大会-旷视ai产物背后的研发效能工具建设
2021 ee大会-旷视ai产物背后的研发效能工具建设2021 ee大会-旷视ai产物背后的研发效能工具建设
2021 ee大会-旷视ai产物背后的研发效能工具建设
Tianwei Liu
?
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
LainZQ
?

Recently uploaded (18)

国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
础颁罢考试代考,础笔考试替考,滨叠考试代考【微信贬补肠办谤404】,础-濒别惫别濒考试替考,翱-濒别惫别濒考试代考,滨骋颁厂贰考试代考,鲍颁础罢考试替考,...
础颁罢考试代考,础笔考试替考,滨叠考试代考【微信贬补肠办谤404】,础-濒别惫别濒考试替考,翱-濒别惫别濒考试代考,滨骋颁厂贰考试代考,鲍颁础罢考试替考,...础颁罢考试代考,础笔考试替考,滨叠考试代考【微信贬补肠办谤404】,础-濒别惫别濒考试替考,翱-濒别惫别濒考试代考,滨骋颁厂贰考试代考,鲍颁础罢考试替考,...
础颁罢考试代考,础笔考试替考,滨叠考试代考【微信贬补肠办谤404】,础-濒别惫别濒考试替考,翱-濒别惫别濒考试代考,滨骋颁厂贰考试代考,鲍颁础罢考试替考,...
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
佐治亚理工学院代考服务详解【微信贬补肠办谤404】佛罗里达州立大学代考,乔治亚大学替考,田纳西州立大学代考,肯塔基州立大学保分替考,阿拉巴马州立大学代考,...
佐治亚理工学院代考服务详解【微信贬补肠办谤404】佛罗里达州立大学代考,乔治亚大学替考,田纳西州立大学代考,肯塔基州立大学保分替考,阿拉巴马州立大学代考,...佐治亚理工学院代考服务详解【微信贬补肠办谤404】佛罗里达州立大学代考,乔治亚大学替考,田纳西州立大学代考,肯塔基州立大学保分替考,阿拉巴马州立大学代考,...
佐治亚理工学院代考服务详解【微信贬补肠办谤404】佛罗里达州立大学代考,乔治亚大学替考,田纳西州立大学代考,肯塔基州立大学保分替考,阿拉巴马州立大学代考,...
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
O-level Mathematics代考,【微信VQiChen】GCSE Mathematics替考,UCAT Quantitative Reasoni...
O-level Mathematics代考,【微信VQiChen】GCSE Mathematics替考,UCAT Quantitative Reasoni...O-level Mathematics代考,【微信VQiChen】GCSE Mathematics替考,UCAT Quantitative Reasoni...
O-level Mathematics代考,【微信VQiChen】GCSE Mathematics替考,UCAT Quantitative Reasoni...
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptxbb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
ronalyncaju
?
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 12 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
g62042289
?
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
顿顿辞厂攻击服务,网站瘫痪服务,恶意软件定制【微信贬补肠办谤404】开发病毒服务,勒索软件开发,黑客入侵大学网站修改成绩,黑客删除论坛文章
顿顿辞厂攻击服务,网站瘫痪服务,恶意软件定制【微信贬补肠办谤404】开发病毒服务,勒索软件开发,黑客入侵大学网站修改成绩,黑客删除论坛文章顿顿辞厂攻击服务,网站瘫痪服务,恶意软件定制【微信贬补肠办谤404】开发病毒服务,勒索软件开发,黑客入侵大学网站修改成绩,黑客删除论坛文章
顿顿辞厂攻击服务,网站瘫痪服务,恶意软件定制【微信贬补肠办谤404】开发病毒服务,勒索软件开发,黑客入侵大学网站修改成绩,黑客删除论坛文章
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptxbb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
ronalyncaju
?
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 12 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
g62042289
?
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?

C++ gui qt

  • 1. 开源俱乐部 汤砚晗 2010.12.14 C++ GUI QT4 编程 Qt by Nokia Code less, think more
  • 2. 什么是 QT Qt 是 Q toolkit 的缩写, Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech 公司于 1995 年底出品。 TrollTech 公司是一个伟大的小公司, TrollTech 存在期间, Qt 发展成为不但包括一套跨平台图形库,而且包括若干非常方便和智能化的构建工具, 2000 年该公司发布了 Qt/Embedded linux, 如今,介绍嵌入式 linux 的书籍必定会介绍 Qt 的图形库移植。 KDE 桌面环境是 linux 下一个极为绚丽的桌面系统,最初由 Qt 开发,如今 Qt 已成为 linux 下开发 C++ 图形界面的事实标准 Google Earth 、 Skype 、 Photoshop Elements 等等正是使用 Trolltech 公司的 Qt 工具包进行开发的 2008 年 1 月 28 日, TrollTech 公司被 Nokia 以 1.53 亿美元收购, Nokia 随后在 2009 年推出第一个官方 IDE : Qt Creator 这个幻灯片正是根据一本同名书命名的,该书最初出版于 2007 年,因此 没有介绍 Qt Creator
  • 3. 为什么选择 QT ? Qt 是一个跨平台的开发框架,横跨包括 Unix/Linux/Mac/Windows/Meego 等常见操作系统平台,并支持如 Symbian/Window CE/ 单片机等多种嵌入式平台。“一次编写,随处编译”,即同样的代码,只需在新的系统上重新编译即完成了移植,大大降低了移植成本 Qt 使用标准的面向对象机制,支持使用 C++ 进行开发。如果使用 Qyoto 和 Qt Jambi ,同样可以使用 C# 和 Java 进行开发 Qt 拥有 250 个以上的 C++ 类,包含了无数方法,接口全部使用统一、友好的方式命名,对于一些没用过的方法不查文档也可以知道用法 Qt 具有丰富的工具和帮助文档,可以实现一键查询用法 XML 支持和 Webkit 引擎集成 QT 遵循商业和开源双重协议 被 Nokia 合并后, Nokia 即将以 Qt 作为塞班和 meego 的标准开发框架, Android 是近几年才出现的名词,但是 Qt 在嵌入式领域已经发展了 10 年 Meego : Intel 和 Nokia 为了对抗 Chrome OS 而开发的 linux 内核操作系统, 现已经应用于平板电脑和上网本
  • 4. Next Limit Technologies 的 RealFlow 4 移植案例 当包括迪斯尼和 Pixar 在内的制片厂和视觉效果工作室需要生成水花飞溅、喷涌和漩涡效果时,他们常常求助于 Next Limit Technologies 及其 RealFlow 模拟软件。 Next Limit 于 2007 年因其出色的工作赢得了奥斯卡技术成就奖,这一成就让电影工作者可以逼真地绘制出水和其他液体的流动。 RealFlow 最初是基于 Windows 开发的应用程序,但却受到倾向于 Linux 的潜在客户的热捧。因此 Next Limit 没有将 Win32 代码移植到 Linux ,而是使用 Qt 重新构建了软件。 Next Limit 开发人员只用了两个月就将 RealFlow 移植到 Qt 。 Next Limit RealFlow 产物技术主管 Angel Tena 说“实在是太容易了。 Qt 类设计的很好并易于使用。我们甚至常常不必去看文档。我们只要想出函数的名称,就会发现有一堆的函数可用。”
  • 5. Qt by Nokia Qt SDK 的安装和使用 面向对象的 Qt Qt 的 signal/slot 机制 Qt 工具链的缺陷 1 2 3 4
  • 6. 1.Qt SDK 的安装和使用 先到网上搜索“ Qt 下载”,即可找到诺基亚官网上的下载链接 下载相应平台下的安装文件, Windows 下直接双击运行安装, linux 等一般须在终端启动之 安装完成后, Windows 平台下应当进行环境变量配置,使程序启动时能够找到库 菜单中找到 Qt Creator, 点击运行即可 (演示: Qt Creator 的应用)
  • 7. Qt Creator 集成的构件 一个类 Vim 编辑器(支持语法高亮 / 自动补全 / 自动检查 / 正则表达式查找 / 代码折叠等) 一个编译器( Windows 下默认为 mingw ,其他平台通常为 g++ ) 一个调试器( Qdebug ) 版本控制系统( Git/SVN/CVS 等,需自行配置) 无处不在的文档帮助系统 assistant 窗体设计器 designer (支持控件直接拖放) 语言翻译器 linguist( 支持程序的多语言翻译) 演示例程系统 qt demo( 包含覆盖主要 Qt 应用的例程源码及文档) 程序测试编写与集成模块 若干工具链程序,甚至包括 Qt3 代码到 Qt4 代码的转换器(有人见过 VC6 转 VC.NET 的转换器了吗)
  • 8. Qt 的传统用法 Qt Creator 之前,已经有一些人开发了 IDE ,如 linux 下的 KDevelop 。但是也有人喜欢直接使用 Qt 的工具链进行应用程序的构建 (演示:直接使用终端工具构建 ) 构建步骤: 建立文件夹,以工程名命名,书写源代码 目录下运行 qmake -project ( Windows 下使用 Command Prompt 而不是操作系统自己的命令行) qmake 工程名 .pro make
  • 9. 面向对象的 Qt 整个 Qt 是严格按照面向对象设计思想设计和实现的,因此 Qt 类给人的感觉是很简单,易于使用, signal/slot 机制比起其他 GUI 开发库的机制更为简单灵活 但是这也意味着使用 Qt 开发程序,就不可能像 MFC 框架或者 Win32 编程那样可以不考虑设计就做出程序,你必须设计好数据流和控制流的走向,否则将来开发稍大规模的程序就容易陷入困境。 signal 和 slot 必须是类才能使用,功能完备的程序必须以类为主体,这点上类似于 java 无论是使用控件拖放产生的窗体,还是直接使用代码创建的界面,都最终使用继承或集成的方式被主体代码所使用
  • 10. Qt 的 signal/slot 机制 GUI 程序与传统命令行略有不同,程序停在一个时间循环中等待用户事件,每个开发库通常都会有一套机制来响应外界的事件(如鼠标点击,键盘命令等),如 Windows 下 MFC 的消息响应机制, linux 下 GTK 的 callback 机制等。 Qt 的则为 signal/slot 机制 signal 即信号, slot 即槽,在 Qt 中他们都是以自定义函数形式存在的。任何一个类只要类体前部书写 Q_OBJECT 即可使用 Qt 的信号 / 槽机制。 假设我规定:我喊“一”,一个同学马上站起来,那么这个“一”就是我这个对象发出的信号,“站起来 " 就是这位同学(对象)的槽,而这个规定的过程,就是简单的通过一句 connect 来完成: connect( 我 ,SIGNAL( 喊一 ), 某同学, SLOT( 站起来 )); 这样以后只要我喊一,这位同学就会站起来,正如你刚才所看到的代码一样
  • 11. signal 和 slot 在类体内通常声明为 void 型成员函数,允许带参数 signal 不需要实体, slot 必须要有实体,否则错误就同声明一个函数却没有实体一样,会发生链接错误 深度解释: signal/slot 机制是利用 C++ 语言实现的一个巧妙机制,本质上仍然是 C++ 。经过 connect 之后,所有发出信号的地方,在预处理过程中都会被插入相应的 slot 代码,这就完成了对 signal 的响应。 这一点决定了 Qt 程序与 MFC 等程序的决定性不同。记住这一点,将来会对你处理某些棘手问题有帮助
  • 12. Qt 缺陷与不足 Qt Creator 是 Nokia 并购 TrollTech 后出品的 IDE 环境,因此仍与较多问题,其中有些问题可能会对初学者造成障碍,因此这里提出一二以供参考: 目前 Qt Creator 代码编辑器有时会出现自动补全失效的问题,属于正常现象(未解决的 bug 只好接受了),不要急躁 Qt Creator 下方的错误信息显示不完整,有时如一些链接错误的输出信息不会被正确捕捉,建议出现诸如 Collect lld returned -1 status 这样不甚明了的信息时,在终端中手动 make 一下,同样的还有运行时程序的意外退出, linux 下诸如内存越界这样的问题也只会提示“ application terminated unexpectedly” ,像程序需要特殊权限(如 linux/unix) 系统下就更不用说了 Qt 跨平台的代价是需要较多的依赖库。尽管我们知道 MFC 程序同样需要很多库,但是这些库都已经被微软放到系统文件夹下了,即使是现在的 .Net 框架也已经是默认安装好了,但是 Windows 毕竟不是 Nokia 的产物,所以程序要么静态编译成比较大的文件,要么带许多库。总之,不是用来编写小程序在别人电脑上直接 YY 的理想平台
  • 14. ?