.Qt概述QtinEducation此文档内容是由诺基亚公司发布的原创Qt教育培训文档的中文翻译:©2010诺基亚公司及其附属公司。Nokia(诺基亚),Qt以及Nokia与Qt商标是Nokia公司在芬兰和全球其他国家的注册商标。该翻译版本由华南理工大学广东省计算机网络重点实验室创造。©2010华南理工大学广东省计算机网络重点实验室本Qt教育培训材料依照署名-非商业性使用-相同方式共享2.5许可协议(CreativeCommonsAttribution-Non-Commercial-ShareAlike2.5LicenseAgreement)发布。完整的许可证文本可以在这里找到:。ThisworkisaChinesetranslationoftheoriginalQtEducationalTrainingMaterialspublishedbyNokia:©2010NokiaCorporationanditsSubsidiary(-ies).Nokia,QtandtheNokiaandQtlogosaretheregisteredtrademarksofNokiaCorporationinFinlandandothercountriesworldwide.ThistranslationwascreatedbyCommunicationandComputerNetworkLaboratoryofGuangdongProvince,SouthChinaUniversityofTechnology.©2010CommunicationandComputerNetworkLaboratoryofGuangdongProvince,SouthChinaUniversityofTechnology.TheenclosedQtEducationalTrainingMaterialsareprovidedundertheCreativeCommonsAttribution-Non-Commercial-ShareAlike2.5LicenseAgreement.Thefulllicensetextisavailablehere:什么是Qt?C++框架-其他语言的绑定Python,Ruby,C#,等原来用作用户界面开发,现可用作所有的开发例如:Databases,XML,WebKit,multimedia,networking,OpenGL,scripting,non-GUI...”Qt是一个用C++编写的跨平台开发框架.”什么是Qt?Qt由模块构建所有的模块都有一个共同的方案,并由相同的API设计思路构建。QtCorePhononQtXmlPatternsQtXmlQtWebKitQtSvgQtSqlQtScriptQtOpenVGQtOpenGLQtNetworkQtMultimediaQtGui什么是QT?Qt用宏(macros)和内省(introspection)扩展了C++所有的代码仍然是简明C++foreach(intvalue,intList){…}QObject*o=newQPustButton;o-metaObject()-className();//返回”QPushButton”connect(button,SIGNAL(clicked()),window,SLOT(close()));Qt的目的从一份代码构建的跨平台应用根据不同平台的本地观感生成相应的本地应用简单地(重复)使用API,高开发效率,开放性,使用有趣桌面目标平台WindowsMacOSXLinux/UnixX11嵌入式目标平台WindowsCESymbianMaemo嵌入式Linux直接帧缓冲访问HelloWorldHelloWorld#includeQApplication#includeQLabelintmain(intargc,char**argv){QApplicationapp(argc,argv);QLabell(HelloWorld!);l.show();returnapp.exec();}HelloWorld#includeQApplication#includeQLabelintmain(intargc,char**argv){QApplicationapp(argc,argv);QLabell(HelloWorld!);l.show();returnapp.exec();}HelloWorld#includeQApplication#includeQLabelintmain(intargc,char**argv){QApplicationapp(argc,argv);QLabell(HelloWorld!);l.show();returnapp.exec();}HelloWorld#includeQApplication#includeQLabelintmain(intargc,char**argv){QApplicationapp(argc,argv);QLabell(HelloWorld!);l.show();returnapp.exec();}HelloWorld#includeQApplication#includeQLabelintmain(intargc,char**argv){QApplicationapp(argc,argv);QLabell(HelloWorld!);l.show();returnapp.exec();}Qt应用于何处?Qt应用于何处?商业和开源LGPL–免费你的应用程序可以是开源的或者是不开源的对Qt的修改,必须反馈到社区GPL–免费你的应用程序必须是开源的对Qt的修改,必须反馈到社区商业的–收费你的应用程序可以是不开源的对Qt的修改,可以不开源Qt的历史1991–HaavardNord和EirikChambe-Eng开始开发将会支持X11和Windows的Qt1994–奇趣科技公司成立1996–KDE项目由MatthiasEttrich创建(Matthias现为诺基亚Qt发展框架工作)Qt的历史2001–增加对MacOSX的支持2005–所有平台根据GPL发布2008–诺基亚收购奇趣科技2009–支持S60今天的Qt~840个部门~180名Qt开发人员休息Qt的社区Qt是开源软件,但其开发由Qt发展框架(QtDevelopmentFrameworks)领导。你可以通过付费来获取支持你可以通过社区来获取支持或者两者都选择……Qt的社区Qt中心()论坛,新闻,维基Qt的实验室(labs.trolltech.com)开发人员博客,研究项目#qt在freenodeIRC频道,qtnode.net上有wiki邮件列表(lists.trolltech.com)Qt-interest(仍然非常活跃)KDE社区KDE项目已经建立在Qt上KDETechBase(techbase.kde.org)wiki+=获取Qt安装程序和快照可从qt.nokia.com/downloads下载Bleedingedge源码在qt.gitorious.com上获取Qt最简单的开始方法是下载QtSDK,它包含Qt的头文件和文件预建的Qt库和工具集成开发环境的QtCreatorWindows下安装•下载Windows版本的QtSDK•运行安装程序•通过点击安装程序•从开始菜单启动QtCreatorMacOSX下的安装•下载MacOSX版本的QtSDK•运行下载的安装包•点击安装程序•从Finder启动QtCreatorX11下的安装如果可能的话,请使用分发包管理工具(K)ubuntu–qt-sdkfromuniverseDebian–qtcreatorOpenSUSE–qt-creatorGentoo–qt-creatorArchLinux–qtqt-docqt-creator...X11下的安装•下载对应的Linux版本的QtSDK•使安装程序可执行•运行安装程序,然后按您的方式点击通过•从桌面或菜单开始QtCreatorchmodu+xqt-sdk-linux-*.bin示例