使用 C++ 创建图形应用程序 [关闭]

Posted

技术标签:

【中文标题】使用 C++ 创建图形应用程序 [关闭]【英文标题】:Creating graphical apps using C++ [closed] 【发布时间】:2016-01-28 11:51:32 【问题描述】:

我可以说很长一段时间以来,我一直在寻找更正确的方法来使用我的 C++ 技能来制作现实世界的应用程序。对我来说,现实世界的大多数应用程序都是图形应用程序——那些具有图形环境和 GUI 的应用程序,就像在 MS Windows 上使用的任何普通应用程序一样。当然,还有许多其他(并且可能是至关重要的)现实世界应用程序用于可能没有 GUI 的嵌入式系统。 除了 MS Windows,还有很多适用于其他操作系统的程序,例如 Linux。 在智能手机上,我们还为 Appleandroid 制造的设备使用 ios 应用程序。

我的目的是能够为以下平台创建应用程序,按优先级排序: 1- MS Windows 平台 2- iOSAndroid 平台 3- 也许在未来,Linux 平台或嵌入式系统 这些是我的需求

说到这些问题,一个想法出现了:一个好的IDE,我们可以利用我们的C++经验来制作跨平台 也可以完美支持这 3 个需求的应用程序,是的,Qt

但是使用Qt似乎有些困难。我看了下面链接里的一些讨论,但由于我对它还不熟悉,所以我无法理解高级主题。https://softwareengineering.stackexchange.com/questions/88685/why-arent-more-desktop-apps-written-with-qt

我知道每种选择可能都有自己的优点和缺点。但最后我不得不选择。 我的目的是在不久的将来开始学习Qt,现在要确保我为不久的将来(一两个月后)选择的方式没有错!

现在我希望各位专家帮助这个新手做出正确的决定。 我的问题是:Qt 是满足我需求的最佳选择吗? (这三个需求)

提前致谢。

【问题讨论】:

Qt 不是第 2 点的好选择 ...而且问题主要是基于意见的 但是使用 Qt5 我们将能够创建 iOS 和 Android 应用程序,不是吗? Qt 在许多方面都很糟糕,但现实情况是它是目前 C++ GUI 应用程序开发的最佳(或最差)解决方案。 Qt和这里的其他东西之间是否存在两难选择? 主要是基于意见的问题。尽管如此,我确实在所有这些环境中都使用了 Qt。 Qt 也很适合移动开发,但有框架限制的缺点(可以通过本机 JNI/Objective-C 扩展进行扩展)。使用Qt你可以非常快速的开始并且有相当不错的结果,但是需要很长时间才能掌握。您仍然可以将 C++ 用于 UI,但尤其是在移动平台上,QML(对于现代 UI)是首选。 您链接到的问题已过时约 5 年。我想指出一件事:如果你认为在你的构建中添加一个额外的工具(如 moc)会使事情变得更复杂,那么无论如何你都是在处理一个非常琐碎的应用程序。随着应用程序的增长,您应该利用领域特定语言 (DSL) 并将自己的工具添加到构建中,以提高工作效率。另外,一旦你开始依赖更多的库,你的构建无论如何都会变得更加复杂。我会说 Qt 在这方面非常经济。 【参考方案1】:

你可以从 Qt5 使用 Qt Qml

Qml 允许开发桌面和移动应用程序。您需要为新平台编译应用程序。

Qml 是用于开发 UI 的语言,但 qml 是基于 javascript 的语言,您可以在 qml 文件中执行逻辑。要提供您的 C++ 类,您只需在 C++ 代码中注册它们即可。

适用于移动平台的 P.S Qt 是为所有移动平台快速开发解决方案的好主意。例如,如果您想从 AndroidSDK 获取所有可用的特性和功能,则必须使用 AndroidSDK 或 AndroidSDK 包装器。

P.S.S Qt是跨平台gui应用的最佳解决方案,qt易学框架

【讨论】:

以上是关于使用 C++ 创建图形应用程序 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

进入iOS和Android编程[关闭]

如何在 C++ 视觉中创建 UI [关闭]

用于创建图形的 Java 库 [关闭]

c++ allegro程序边界框碰撞关闭

如何开始学习 C++ 中的图形? [关闭]

视频下集:1小时学会!用C++模板快速编写Windows窗口图形界面程序,不用MFC