Qt

Awesome Qt Awesome

> Qt框架的精彩工具,库和资源的精选列表.

Qt 是一个功能强大的跨平台应用程序开发框架,主要用于(但不是唯一)C ++. 它非常适合GUI应用程序,但也可以用于许多其他事情.

欢迎捐款!

Conventions

  • 任何带有OctoCat的列表项:octocat:有一个GitHub仓库或组织; 点击它查看源代码!
  • 使用此列出项目:package:icon具有托管在其他位置的源代码.

Official Resources

Communities

如果你盖了,他们会来的. 本节描述了彼此共享知识和代码的Qt用户的聚合. 本节列出了最受欢迎和最活跃的社区,但您可以找到更全面的列表 here (如果您愿意,可以包括其他几种语言).

Official

  • Mailing Lists - Qt用户和开发人员的邮件列表. 可以说是与Qt维护者直接沟通的最佳场所. 看到频繁的活动.
  • Qt Forum - 如果电子邮件不是你的东西,那么你也可以考虑在论坛上获得帮助或分享知识.
  • Qt Wiki - 用户贡献的Qt知识的主要来源.
  • IRC - For real-time chat with other Qt developers and users. The most popular channels are on Freenode, and include #qt, #qt-quick, #qt-creator, and #qt-chat.
  • 有关与Qt相关的IRC频道的完整列表,请参阅 here.
    • 请注意,链接的网络聊天客户端不是Qt项目的一部分,仅为方便起见,由此列表的作者提供. 可以通过任何IRC客户端访问这些通道.

Unofficial

Tools

一个优秀的开发人员编写他或她自己的工具. 一个伟大的人使用别人写的工具. 这部分将帮助你变得更好; 更正式地说,本节详细介绍了使用Qt创建软件更容易的应用程序. 您可能也对此感兴趣 Libraries 部分.

Official Tools

令人惊讶的是,Qt框架有许多工具无法引起人们的关注. 这部分描述了它们(以及做过的明星球员). 出于本节的目的,“工具”指的是以Qt为中心的实用程序,其代码不会嵌入您的应用程序中(但可能会输出它们).

  • Qt Creator :octocat: - Qt绝不会锁定你提供的IDE,但它与框架的紧密集成使它成为一个很好的销售. 除此之外,它还提供了UI设计器,建模工具,文档浏览器以及强大的QML支持(如果您涉及到这类内容). 还有一个插件系统,但遗憾的是第三方插件很少.
  • Qt Designer :octocat: - 如果您只是设计接口并让其他人将它们连接到逻辑,则GUI设计器可作为单独的应用程序使用.
  • Qt Assistant :octocat: - 就此而言,文档查看器也是如此.
  • Qt Visual Studio Add-in :octocat: - 如果你更喜欢坚持使用Visual Studio,这个加载项可以让你这样做.
  • Qt Linguist :octocat: - Qt provides excellent internationalization/localization support, and this tool is very much responsible for it. Write translatable strings in your code with special macros, and this tool will aggregate them all for you so you or your translator(s) can broaden your software's audience.
  • Qt Installer Framework :octocat: - 似乎没有人谈论这个问题,但Qt还提供了一种为应用程序编写安装程序的方法. 不支持创建macOS磁盘映像,应用程序包或Linux软件包,因此在考虑项目的分发时请注意这一点.
  • macdeployqt :octocat: - 为Qt项目生成macOS应用程序包.
  • qmake :octocat: - 为Qt设计的捆绑构建系统,尽管它可以用于非Qt项目.
  • qbs :octocat: - 如果QML更符合您的风格,请考虑使用此备用构建系统.
  • Emulator - 别忘了Qt的移动支持!
  • qtdiag :octocat: - 命令行工具,可以打印出与Qt安装和系统有关的大量信息. 没有链接,因为没有专门的网页; 只需在命令行上运行qtdiag. 非常适合排除故障
  • qmleasing :octocat: - 允许您制作适合QML的缓动曲线,但如果您了解基础数学,则无法在其他地方使用结果数字.

Third-Party Tools

  • CMake :octocat: - 通用C ++构建工具恰好有很好的Qt支持.
  • GammaRay :octocat: - 用于Qt构建软件的强大调试器和通用检测工具. 允许您检查和操作QObject层次结构,查看对象属性,在运行时编辑窗口小部件,远,更多. 两句话模糊不能正义,认真检查出来.
  • moc-ng :octocat: - 与mt版本二进制兼容的moc的替代实现.
  • Qt-Inspector :octocat: - 具有与GammaRay类似目标的检查工具,虽然简单得多.
  • SIP 📦 - 为C或C ++库生成Python绑定. 对Qt信号和插槽有特殊支持,并用于创建 PyQt.
  • linuxdeployqt :octocat: - 允许您将基于Qt的应用程序捆绑为AppDir或 AppImage ,使其可以发送给许多桌面Linux发行版的用户. 类似于官方的windeployqtmacdeployqt工具,但适用于Linux.

Bindings in Other Languages

本节介绍可以使用C ++以外的主要语言创建Qt软件的软件. 允许在Qt应用程序中运行时编写脚本的库列在下面 Integrations.

看到这些 these three articles 如果你想要更多.

Libraries

This section describes two kinds of third-party libraries; those that provide their own brand-new functionality (e.g. widgets, dealing with particular file formats), and those that provide integrations with existing software (e.g. scripting languages, clients for REST APIs, implementations of established protocols).

Integrations

出于本节的目的,“集成”聚焦库执行以下操作之一:

1.充当已建立的Web服务的客户端. 2.以Qt友好的方式包装另一个库,而不仅仅是一个实现细节(即它试图模仿包装的API).

New Functionality

Software Repositories

如果 Libraries 部分不满足你,也许其中一个会.

  • #inqlude - 那里最着名的以Qt为中心的图书馆聚合. 包管理器也可用 here.
  • QtPods - 另一个以Qt为中心的包管理器. 如果您想在不使用QtPods的情况下查看产品,可以使用完整列表 here,可以通过提交拉取请求来添加.
  • Linux-Apps.com - 尽管名称如此,Linux-Apps.com为最终用户和开发人员聚合了各种基于Qt的工具和库.
  • Stephan Binner's Ubuntu PPAs - 犹豫不决的用户如果在包管理器之外安装任何东西,可以从这些存储库中获取任何最新版本的Qt. 在其中找到添加它们的说明.

Blogs

每个条目后面都有一个突出的文章,会谈或其他资源列表.

Books

Software that Uses Qt

框架只与使用它的软件一样好. 幸运的是,很多很棒的软件都使用Qt.

  • Autodesk Maya - 3D动画和设计软件,用于为有史以来最流行的电影和电视节目创建视觉效果.
  • CMake :octocat: - 最接近标准C ++构建系统的东西. 捆绑的GUI使用Qt.
  • CRYENGINE :octocat: - 但它可以运行孤岛危机吗? 一些辅助工具使用Qt.
  • Doxygen :octocat: - 最受欢迎的C ++文档生成器,但它也支持其他语言. 捆绑的GUI使用Qt.
  • Google Earth - *虚拟地球仪.
  • KDE :octocat: - Linux最流行的桌面环境之一.
  • Malwarebytes - 您的Windows桌面的个人保镖.
  • Parallels Desktop - 以消费者为中心的虚拟化
  • Qt Creator :octocat: - 吃东西吃狗粮的东西. 在上市 official tools,但不在这里列出它感觉不对.
  • Rolisteam :octocat: - 用于远程角色扮演游戏的虚拟桌面.
  • RUBE - 任何使用Box2D物理引擎的游戏的关卡设计工具。
  • TeamSpeak - 当游戏玩家希望在不支持游戏的游戏中进行语音聊天时,他们会使用此功能.
  • Telegram Desktop :octocat: - 保证你的谈话得好,你会提高潜在窃听者的血压. 桌面客户端使用Qt并且是开源的.
  • Tiled :octocat: - 也许是世界上最受欢迎的tilemap编辑器. 适合游戏中的关卡设计.
  • VirtualBox 📦 - 适用于x86 / 64处理器的虚拟化软件. 捆绑的GUI使用Qt.
  • VLC 📦 - 现存最灵活的开源视频播放器之一.
  • Vuo :octocat: - 用于交互式媒体的实时可视化编程语言.
  • Wireshark 📦 - 那里最流行的数据包嗅探器. 你用于善而不是邪恶,对吧?
  • Wolfram Mathematica - 编程语言,符号计算器和工程师最好的朋友.
  • Yabause :octocat: - 现在是土星模拟器.

还有一个官方陈列室 here,让开发人员提交自己的Qt驱动的应用程序进行显示.

Other Relevant Awesome Lists

如果您熟悉Awesome,您就会知道有非常多种资源,其实用性取决于您的项目. 但是,如果您正在开发Qt应用程序,那么您几乎肯定也想要查看这些应用程序.

  • Awesome C/C++ - 没有理由不能使用不是为Qt设计的C ++库. 有时它们甚至可能比Qt提供的更好地满足您的需求.
  • Awesome C - C库也是如此; 当你在这里时,他们可能想要了解那些RAII技术.
  • Awesome CMake - 如果你没有为你的项目使用qmake,你很可能会使用CMake.
  • Awesome OpenGL - Qt通常用于图形应用程序,甚至提供自己的OpenGL包装器.

License

CC0

在法律允许的范围内, Jesse Talavera-Greenberg 已放弃对此作品的所有版权及相关或相邻权利. 见 https://github.com/JesseTG/awesome-qt/blob/master/LICENSE 文件了解详情.