Qt

Awesome Qt Awesome

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

Qt 是一个功能强大的跨平台应用程序开发框架,主要(但不是专门)在C ++中使用. 这对GUI应用程序非常有用,但也可以用于许多其他事情.

欢迎捐款!

Conventions

-任何带有OctoCat的列表项:octocat:具有GitHub存储库或组织; 点击它查看源代码! -列出带有:package:图标的项目的源代码托管在其他位置.

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: -与Qt版本二进制兼容的moc的替代实现.
  • Qt-Inspector :octocat: -具有与GammaRay相似的目标的检查工具,但简单得多.
  • SIP 📦 -为C或C ++库生成Python绑定. 对Qt信号和插槽具有特殊支持,并用于创建 PyQt.
  • linuxdeployqt :octocat: -使您可以将基于Qt的应用程序捆绑为AppDir或 AppImage ,从而可以将其交付给许多桌面Linux发行版的用户. 与官方的windeployqtmacdeployqt工具类似,但适用于Linux.
  • Qompoter -Qt / C ++的依赖管理器.

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

  • Communi :octocat: -跨平台的IRC框架. 我们已经有足够的IRC客户端了,但是我想这也可以用于在您的应用程序中实现聊天功能(例如,为社区提供支持).
  • cutelyst :octocat: -从Perl的Catalyst框架吸收一些想法的Web框架.
  • DiceParser :octocat: -Dice Roller框架基于其自身的语法.
  • DOtherSide :octocat: -在C中对QML进行绑定,主要设计为其他语言的API以支持QML.
  • Felgo -高度依赖QML的跨平台游戏引擎和应用程序框架. 有很多工具和资源,甚至可能值得拥有自己的清单.
  • glraw :octocat: -将图像从任何Qt支持的格式转换为OpenGL格式的纹理. 对于加快图形应用程序中的纹理加载很有用.
  • grantlee :octocat: -受Django启发的文本模板.
  • injeqt :octocat: -Qt的依赖注入.
  • KDE Frameworks :octocat: 📦 -KDE库的度量标准库,但其中许多库也可以与常规Qt应用程序一起使用. 跨平台,大部分.
  • Marble 📦 -虚拟地球仪和地图,可单独使用或嵌入其他应用程序中.
  • qgexedit2 :octocat: -在您的应用程序中嵌入一个十六进制编辑器.
  • qml-material :octocat: -在QML中实施的材料设计.
  • QNodeView :octocat: -小工具,可让您在图中创建和编辑节点,类似于虚幻引擎,Substance Designer或PureData提供的那种类型.
  • QSimpleUpdater :octocat: -让您的应用程序自行更新.
  • qt-maybe :octocat: -类型理论的爱好者将喜欢这些总和和可选类型.
  • qt-mustache :octocat: -渲染 Mustache 模板.
  • QtAV :octocat: -积极开发的多媒体框架.
  • Qtilities :octocat: -功能强大的库集,可为您的应用程序提供GUI,日志记录,测试,配置和项目功能(以及其他功能).
  • QtitanChart -图表生成框架. 商业.
  • QtitanRibbon -对于Microsoft在其软件中使用的功能区的支持者. 商业.
  • qtnotify :octocat: -通知框架.
  • QtTerminalWidget :octocat: -使您的应用程序具备“任何功能”.
  • QtVerbalExpressions :octocat: -使用自然的英语表达式创建正则表达式. 的一部分 VerbalExpressions 项目,它针对多种语言执行相同的操作.
  • qtwebserver :octocat: -如果出于某种原因需要用Qt编写Web应用程序服务器,这将对您有所帮助.
  • QtXlsx :octocat: -读取和写入Microsoft Excel格式的电子表格.
  • Qwt 📦 -专为科学和技术应用而设计的Qt小部件.
  • verdigris :octocat: -实验库,使用moc无需使用*即可编写Qt应用程序.

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动画和设计软件,一直用于为某些最受欢迎的电影和电视节目创建视觉效果.
  • Davinci Resolve -具有商业计划的非线性视频编辑免费软件,用于制作一些好莱坞电影.
  • 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 文件以获取详细信息.