Qt是什么

Fanly 2020-08-12 17:02:01
问答

Qt是一个跨平台的C++应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。

Qt 是一个跨平台的 C++应用程序开发框架。广泛用于开发 GUI 程序,这种情况下又被称为部件工具箱。也可用于开发非 GUI 程序,比如控制台工具和服务器。

Qt

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 于创建时指定父对象,就可把自己的生命周期交给上层对象管理,当上层对象被释放时,自己也被释放。确保对象不再使用时都会被删除。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 优麒麟 Ubuntu Kylin

    优麒麟(Ubuntu Kylin),专为中国用户定制的操作系统

    优麒麟(Ubuntu Kylin)是一款专为中国用户定制的操作系统,提供完善的中文支持和本地化服务。基于Ubuntu,它结合易用性和强大的功能,适合各类用户。优麒麟拥有丰富的软件生态、定制化桌面环境UKUI,确保了优秀的用户体验和系统安全性。
  • QNAP QTS

    QNAP QTS,威联通NAS设备专属操作系统

    QNAP QTS是一个高效且功能丰富的NAS操作系统,特别适用于小型至中型企业和家庭用户。提供了强大的文件存储、备份、多媒体服务和虚拟化支持。其直观的用户界面和丰富的应用扩展使得数据管理变得简单高效。在数据安全和性能方面表现出色,虽在某些方面略逊于竞争对手,但在多媒体和虚拟化方面占有优势,是一个综合性强且可靠的选择。
  • Synology DSM 群晖 DSM NAS 系统

    Synology DSM,群晖NAS的专属操作系统

    Synology DSM是为群晖NAS提供的一款面向家庭和小型企业的多功能NAS操作系统,以其直观的用户界面、全面的文件管理、高效的数据备份、多媒体处理能力以及虚拟化支持著称。它提供了强大的第三方应用支持和优秀的安全性,使其成为数据存储和管理的理想选择。
  • Lubuntu

    Lubuntu,为老旧计算机而设计的Linux操作系统

    Lubuntu是一个轻量级Linux发行版,特别适合运行在低性能硬件上。它使用资源高效的LXQt桌面环境,提供快速、稳定的用户体验。Lubuntu支持丰富的应用程序,易于定制,且对新用户友好。它结合了Ubuntu的功能性和高效的硬件兼容性,是复活老电脑或使用低配置硬件的理想选择。
  • WordPress

    多语言WordPress网站的SEO优化技巧有哪些

    为多语言WordPress网站进行SEO优化,选择合适的多语言插件、使用`hreflang`标签防止内容重复、为每种语言设置独立URL、确保高质量翻译和优化元数据。同时,提高加载速度,实施多语言内部链接,考虑地区化因素,提交sitemap并进行数据跟踪与分析。
  • Ubuntu Server

    Ubuntu发行版有哪些

    Ubuntu是一款基于Debian的开源Linux操作系统,有多种发行版满足不同需求。常见的包括:Ubuntu Desktop(桌面版)、Ubuntu Server(服务器版)、Ubuntu Cloud(云版)、以及像Kubuntu、Lubuntu、Xubuntu等使用不同桌面环境的变种。