【问题标题】:GUI Development With C++ In A Windows Environment [closed]在 Windows 环境中使用 C++ 进行 GUI 开发 [关闭]
【发布时间】:2010-10-13 07:47:55
【问题描述】:

首先,请理解。我搜索了这个并搞砸了几个星期。我终于放弃了单打独斗,决定向这个可爱的社区寻求帮助。

我想为 Windows 编写 GUI 应用程序。原因是我想移植我最喜欢的命令行应用程序以拥有一个界面。我虽然'嘿,这不应该这么难'。

所以我在 Google 上搜索了几个小时,并很好地了解了我需要什么。我下载了 Qt 并安装了所有东西。接下来我找到了一个教程,旨在使用我当前的 IDE (Bloodshed Dev C++) 来使用 Qt。在那之后一切都变得一团糟。

我很困惑现在该怎么办。有人说我的 IDE 太旧了,需要更换。有人说我必须以不同的方式配置 Windows。有人建议使用 Visual Studio C++(或任何 Microsoft IDE)。

这是我需要您的建议和帮助的地方。我应该做什么/安装/升级?

【问题讨论】:

  • 你真的应该定义你所说的“一切都一团糟”
  • 是的,您的具体问题是什么? “它不起作用,我该如何解决它?”这不是我们能真正回答的问题。

标签: c++ windows user-interface


【解决方案1】:

以下内容假设您针对的是仅限 Windows 的平台(如果您正在寻找跨操作系统 - 那么许多其他帖子涵盖了各种选项)。

您可能很幸运,因为您已经有一个可以从命令行运行的应用程序。完全可以使用其中一种 .Net 语言工作并访问您现有的应用程序。任何 .Net 语言(C#、VB.Net、托管 C++)都可用于非常快速地构建 UI 并绑定 UI 组件和事件,然后将调用调用到现有应用程序 - 传递必要的命令行参数。

另一种选择:托管 C++ 实际上允许您在同一个项目(甚至是大量代码的相同文件)中混合托管(.Net 代码)和非托管代码(符合标准的 C++ - 即 - 您现有的应用程序)。这允许您访问许多现代 IDE 功能和 .Net 库,以获取您想要添加的任何全新内容。您只需使用一些项目设置和“它就可以工作”(嗯 - 可能有一些学习的东西,但它很容易)。

虽然我有完整版的 Visual Studio - 我相信免费的“Express”版本 (http://www.microsoft.com/express/product/) 能够胜任其中的许多任务。

【讨论】:

    【解决方案2】:

    首先,Dev-C++ 不再处于开发阶段,似乎已被大量错误所遗弃。其次,如果你想坚持使用 Windows API,请查看我的 Dialog Template 小项目。

    我刚刚添加了 Visual Studio 2008、Code::Blocks 和 Dev-C++ 的项目文件,只是为了让您动起来。如果您还有其他需要,请告诉我,我很乐意为您提供帮助。

    【讨论】:

      【解决方案3】:

      从 4.5 版开始,Qt 现在与官方的跨平台 Qt IDE QtCreator 一起打包。只需下载并安装 Qt 4.5,即可免费获得功能齐全的(库、IDE、表单设计器、资源编辑器)开发环境。

      http://www.qtsoftware.com/downloads

      【讨论】:

        【解决方案4】:

        我使用Ultimate++ http://ultimatepp.org/ 进行跨平台C++ GUI 开发。它还有一个完整的网络、数据库等实用程序库和一个非常好的 IDE。它是 BSD 许可的,所以用它做你想做的事没有问题。它也有很好的社区支持。

        【讨论】:

        【解决方案5】:

        Dev C++ 不再处于积极开发中(而且有点不合时宜)。如果你想要一个支持 Windows GUI 开发的开源 IDE,试试Code::Blocks

        【讨论】:

          【解决方案6】:

          如果您不担心跨平台支持,Visual Studio 2008 + WTL 将是一个很好的组合。 Qt 看起来很棒,但对于一个简单的应用程序来说,它可能有点矫枉过正——例如,分发一个 Qt 应用程序意味着交付一堆 DLL,而您对 WTL 的依赖项更少。

          只是我的 2c。我不想在这里引发任何火焰战争。 :)

          Wikipedia

          Brilliant series of WTL articles at The Code Project

          【讨论】:

            【解决方案7】:

            虽然可以使用您当前的 IDE 和 Qt 之类的工具包,但如果您正在寻找阻力最小的路径,您应该使用 Visual Studio。您会在这条路上找到最好的文档和最多的支持。查看免费的Express Edition(如啤酒)。然后去拿一本关于这个主题的好书,比如 Charles Petzold 的Programming Windows。你应该准备好了。

            【讨论】:

              【解决方案8】:

              您有很多选择,并且可以使用 Charlie Martin 所描述的很多工具。我认为如果你想要最简单的路径,你应该使用wxDev-C++,它是与 wxWidgets GUI 库捆绑在一起的 Dev-C++。安装后,无需额外配置即可直接开发GUI应用程序。也许 Dev-c++ 是一个旧的 IDE,但你已经使用它并且你知道它。 wxWidgets 是一个可靠的 GUI 库。

              【讨论】:

                【解决方案9】:

                好的,这有两个部分。

                第一个是在 Windows 下,您将需要一个 Windows GUI 库。您可以通过多种方式写入 Windows API,但最简单是使用 Microsoft 自己的。这意味着以某种形式选择 Visual Studio。

                QT、Wx 和 otehrs 都是构建在基本 Windows API 之上的实用程序库。它们有利于移植到其他平台,但必然会增加一些复杂性。

                对于 C++,您需要一个编译器。同样,对于 Windows,最简单的方法是使用 Visual Studio,但还有其他可用的编译器。最常见的免费版本将是 GNU 编译器。获得这些的简单方法是使用 Cygwin,但这是一个类似 UNIX 的环境。

                我认为结论是,对于初学者来说,最好使用 Visual Studio。

                一旦你得到它,网上和微软都有很多教程来学习使用它。

                【讨论】:

                • Windows API 之上的库不会增加复杂性,而是将其抽象化,因此您不必担心。创建窗口/按钮/等更容易。在 Qt 中比通过 Windows API 调用。
                • 顺便说一句,也有免费的Visual C++版本可供非商业用途使用
                • @Thomas,只有在抽象不泄漏的情况下才是正确的。大多数都这样做。
                • @Steve:Qt 在不无意泄露实现细节方面做得很好。唯一发生的情况是用户特别要求提供系统特定数据。
                • 抱歉投了反对票。提到的一些库的设计比不断变化的 windows api 更简洁。
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-12-29
                • 1970-01-01
                • 2010-12-10
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多