2009-08-26 60 views
2

我正在考虑编写一个非常简单的绘图程序。我想要一个更高级的方法将数据输入到我的程序中,例如颜色,笔刷粗细等等。我想使用GUI库,这样我就可以编程按钮和菜单以使输入更容易。寻找C++的应用程序GUI库

有什么建议吗?

(我运行Visual C++ 2005 SP1)

回答

17

Qt是一个非常坚实的GUI应用程序框架。它是跨平台的,有据可查的,支持和免费的。

+1

使用Qt您启动创建一个“简单的画图程序”,并最终创造了巨大的软件,如谷歌地球:) – Lawand 2009-08-26 18:45:43

+0

自从QT去LGPL的,我没有看到任何理由不在任何C++应用程序,OSS,商业或其他方面使用它。它在性能,功能完备性,稳定性和文档方面胜过所有竞争对手。 – 2009-09-03 23:16:45

+0

更不用说Qt带有几个“简单的绘画程序”般的演示来学习。 – 2009-09-03 23:25:43

5

是否GTK+无法满足您的需求?它具有许多用于处理颜色输入的高级控件(最初设计为GIMP)。 gtkmm是:

官方C++接口为 流行的GUI库GTK +。亮点 包括类型安全的回调,以及 一整套小部件是 容易通过继承扩展。您可以使用libglademm在 代码中或使用Glade用户界面 设计器创建用户界面。有 广泛的文档,包括API 参考和教程。

Qt也是可能的。两者都将允许您编写[主要]独立于平台的代码。

+0

尽管有Gtk/Win32,但Gtk应用程序在Windows上看起来仍然有些陌生 - “本机”主题远非完美。设置它与VS一起工作可能也是一件麻烦事。 – 2009-09-03 23:19:18

3

为什么不使用任何ATL或MFC,因为他们是用VS2005反正都提供...

另一种选择是WTL,附带建议我的一些前同事。

+0

或Windows Froms – Nick 2009-08-26 18:47:59

+0

你* *但我通常会推荐使用C#(或VB.Net)的WinForms,而不是MC++ – 2009-08-26 18:50:28

+0

对WTL的另一票 – 2009-08-26 19:23:21

3

一些您选择:

  • 的Win32 API
  • 的Qt
  • .NET框架(使用C++/CLI)
  • wxWidgets的

我通常选择:Win32 API中

我对你的推荐:Qt

编辑:其实一个简单的画图程序只使用Win32 API的和GDI +听起来很可行。如果你觉得足够勇敢,那么你可能想尝试一下。 (我倾向于那种偏向于轻量级的解决方案。)

+0

我可以在视觉工作室05中使用QT库吗? – TheFuzz 2009-08-26 19:28:06

+0

那么你可以,但不能用图形小部件+布局设计支持。但是,Qt有它自己的版本,实际上有两个版本,Designer(只是设计GUI)和Creator(这是一个完整的IDE;一个是设计器,编辑器和调试器)。 – JDonner 2009-08-26 20:15:44

+0

@TheFuzz,是的,你可以在网上找到一些教程。正如JDonner所说,如果您使用Visual Studio,您将无法获得可视化设计师,但不用担心。它只是一个工具,允许您像在Visual Basic中那样直观地绘制小部件。你并不需要它,实际上我甚至更喜欢在代码中使用我的GUI。 – StackedCrooked 2009-08-26 20:22:53