发布时间:2025-12-09 00:45:18 浏览次数:1
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 开发的软件,相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码。会自动依平台的不同,表现平台特有的图形界面风格。
Qt 开放源代码,并且提供自由软件的用户协议。使得它可以被广泛地应用在各平台上的开放源代码软件开发中。
Qt 提供三种授权方式。三种授权方式的功能、性能都没有区别,仅在于授权协议的不同。LGPL 和 GPL 是免费发布,商业版则需收取授权费。
Qt 的图形用户界面的基础是 QWidget。Qt 中所有类型的 GUI 组件如按钮、标签、工具栏等都派生自 QWidget,而 QWidget 本身则为 QObject 的子类。Widget 负责接收鼠标,键盘和来自窗口系统的其他事件,并描绘了自身显示在屏幕上。每一个 GUI 组件都是一个 widget,widget 还可以作为容器,在其内包含其他 Widget。
QWidget 不是一个抽象类别。并且可以被放置在一个已存在的用户界面中;若是 Widget 没有指定父 Widget,当它显示时就是一个独立的视窗、或是一个顶层 widget。QWidget 显示能力包含了透明化及 Double-Buffering。Qt 提供一种托管机制,当 Widget 于创建时指定父对象,就可把自己的生命周期交给上层对象管理,当上层对象被释放时,自己也被释放。确保对象不再使用时都会被删除。