Qt是什么


Qt是什么

文章插图
今天来说一下Qt是什么这方面的一些讯息,不少朋友对Qt是什么这方面的一些讯息颇感兴趣的,小编今天就整理了一些信息 , 希望对有需要的朋友有所帮助 。
Qt是一个跨平台的C++应用程序开发框架 。广泛用于开发GUI程序,这种情况下又被称为部件工具箱 。也可用于开发非GUI程序,比如控制台工具和服务器 。
Qt 是一个跨平台的 C++应用程序开发框架 。广泛用于开发 GUI 程序,这种情况下又被称为部件工具箱 。也可用于开发非 GUI 程序,比如控制台工具和服务器 。
Qt 被用于 OPIE、Skype、VLC media player、Adobe Photoshop Elements、VirtualBox 与 Mathematica 以及被 Autodesk、欧洲空间局、梦工厂、Google、HP、KDE、卢卡斯影业、西门子公司、沃尔沃集团,华特迪士尼动画制作公司、三星集团、飞利浦、Panasonic 所使用 。
它是 Digia 公司的产品 。Qt 使用标准的 C++和特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏 。通过语言绑定,其他的编程语言也可以使用 Qt 。
Qt 是自由且开放源代码的软件,在 GNU 宽通用公共许可证(LGPL)条款下发布 。所有版本都支持广泛的编译器 , 包括 GCC 的 C++编译器和 Visual Studio 。
历史
Haavard Nord 和 Eirik Chambe-Eng 于 1991 年开始开发“Qt”,1994 年 3 月 4 日创立公司,最早名为 Quasar Technologies,然后更名为 Troll Tech,之后又再次更名为 Trolltech,中文名是“奇趣科技”,2008 年 6 月 17 日被 NOKIA 公司收购,以增强该公司在跨平台软件研发方面的实力,更名 Qt Software 。
该工具包名为 Qt 是因为字母 Q 在 Haavard 的 Emacs 字体特别漂亮,而“t”代表“toolkit”,灵感来自 Xt,X toolkit 。
2009 年 5 月 11 日,诺基亚 Qt Software 宣布 Qt 源代码管理系统面向公众开放,Qt 开发人员可通过为 Qt 以及与 Qt 相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造 Qt 未来的发展 。为了便于这些内容的管理,Qt Software 启用了基于 Git 和 Gitorious 开源项目的 Web 源代码管理系统 。
在推出开放式 Qt 代码库的同时,Qt Software 在其网站发布了其产品规划(Roadmap) 。其中概述了研发项目中的最新功能,展现了现阶段对 Qt 未来发展方向的观点,以期鼓励社区提供反馈和贡献代码,共同引导和塑造 Qt 的未来 。2012 年 8 月 9 日,Digia 宣布已完成对诺基亚 Qt 业务及软件技术的全面收购,并计划将 Qt 应用到 Android、iOS 及 Windows 8 平台上 。
支持平台
使用 Qt 开发的软件 , 相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码 。会自动依平台的不同,表现平台特有的图形界面风格 。
Linux/X11:用于 X Window System(如 Solaris、AIX、HP-UX、Linux、BSD) 。支持 KDevelop 和 Eclipse IDE 集成
Mac:用于 Apple Mac OS X 。基于 Cocoa 框架 。支持 Universal Binary 。支持以 Xcode 编辑、编译和测试 。
Windows:用于 Microsoft Windows 。支持 Visual Studio 集成,也可以使用 MinGW 编译
Embedded Linux:用于嵌入式 Linux 。可以透过编译移除不常使用的组件与功能 。透过自己的视窗系统 QWS,不需依赖 X Window System,直接写入 Linux 帧缓冲 。可以减少存储器消耗 。并提供虚拟帧缓冲 QVFb,方便在桌面系统上进行嵌入式测试 。
Windows CE / Mobile :用于 Windows CE
Symbian:用于 Symbian platform
Maemo/MeeGo:用于 Maemo
Wayland –用于 Wayland 显示服务器,Qt 应用程序可以在运行时切换图形后端,如 X 与 Wayland 。
授权模式
Qt 开放源代码,并且提供自由软件的用户协议 。使得它可以被广泛地应用在各平台上的开放源代码软件开发中 。
Qt 提供三种授权方式 。三种授权方式的功能、性能都没有区别,仅在于授权协议的不同 。LGPL 和 GPL 是免费发布,商业版则需收取授权费 。
Qt 商业版 – Qt 商业授权适用于开发专属和/或商业软件 。此版本适用于不希望与他人共享源代码 , 或者遵循 GNU 宽通用公共许可证(LGPL)2.1 版或 GNU GPL 3.0 版条款的开发人员 。提供了技术支持服务 。可以任意的修改 Qt 的源代码,而不需要公开 。
GNU LGPL v. 2.1- Qt 4.5.0 及以后的版本开始遵循 GNU LGPL 。LGPL 允许链接到它的软件使用任意的许可证,可以被专属软件作为类库引用、发布和销售 。可以购买支持服务 。
GNU GPL v. 3.0 – 如果您希望将 Qt 应用程序与受 GNU 通用公共许可证(GPL)3.0 版本条款限制的软件一同使用,或者您希望 Qt 应用程序遵循该 GNU 许可证版本的条款,则此版本 Qt 适用于开发此类 Qt 应用程序 。可以购买支持服务 。
Qt 的图形用户界面的基础是 QWidget 。Qt 中所有类型的 GUI 组件如按钮、标签、工具栏等都派生自 QWidget , 而 QWidget 本身则为 QObject 的子类 。Widget 负责接收鼠标,键盘和来自窗口系统的其他事件,并描绘了自身显示在屏幕上 。每一个 GUI 组件都是一个 widget,widget 还可以作为容器,在其内包含其他 Widget 。
QWidget 不是一个抽象类别 。并且可以被放置在一个已存在的用户界面中;若是 Widget 没有指定父 Widget , 当它显示时就是一个独立的视窗、或是一个顶层 widget 。QWidget 显示能力包含了透明化及 Double-Buffering 。Qt 提供一种托管机制,当 Widget 于创建时指定父对象,就可把自己的生命周期交给上层对象管理,当上层对象被释放时,自己也被释放 。确保对象不再使用时都会被删除 。
【Qt是什么】以上就是关于Qt是什么对比这方面的一些信息了 小编整理的这些讯息希望对童鞋们有所帮助 。