在Windows环境中使用C ++进行GUI开发

时间:2009-03-14 05:08:27

标签: c++ windows user-interface

首先,请理解。我搜索了这个并且搞乱了好几个星期。我终于放弃了一个单独的努力,并决定要求这个可爱的社区提供帮助。

我想为windows编写GUI应用程序。原因是我想将我最喜欢的命令行应用程序移植到一个接口。我虽然'嘿这不应该这么难'。

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

我很困惑现在该做什么。有人说我的IDE已经老了,我需要改变。有人说我必须以不同的方式配置Windows。有人建议使用Visual Studio C ++(或任何Microsoft IDE)。

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

9 个答案:

答案 0 :(得分:6)

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

http://www.qtsoftware.com/downloads

答案 1 :(得分:4)

好的,这有两个部分。

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

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

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

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

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

答案 2 :(得分:3)

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

答案 3 :(得分:2)

如果您不担心跨平台支持,

Visual Studio 2008 + WTL将是一个很好的组合。 Qt看起来很棒,但对于一个简单的应用程序,它可能有点过分 - 分发Qt应用程序意味着运送一堆DLL,例如,而你与WTL的依赖关系较少。

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

Wikipedia

Brilliant series of WTL articles at The Code Project

答案 4 :(得分:1)

虽然可以使用当前的IDE和像Qt这样的工具包,但如果您正在寻找最不具有抵抗力的路径,那么您应该使用Visual Studio。你会找到最好的文档和最大的支持。查看免费的Express Edition(如啤酒)。然后去找一本关于这个主题的好书,比如Charles Petzold的Programming Windows。你应该全力以赴。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

Dev C ++已经不再处于积极开发阶段(无论如何都有点不自觉)。如果您需要支持Windows GUI开发的开源IDE,请尝试Code::Blocks

答案 7 :(得分:0)

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

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

答案 8 :(得分:0)

以下假设您的目标是仅限Windows的平台(如果您正在寻找跨操作系统 - 那么其他很多帖子都会涵盖各种选项)。

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

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

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