在C ++中创建简单的跨平台GUI的最佳方法是什么?

时间:2009-05-22 10:25:51

标签: c++ visual-studio user-interface cross-platform

我希望使用非常简单的GUI(背景图形,取消按钮和进度条)生成桌面应用程序。

我的主要目标是Mac和Windows。

使用Visual C ++ 2008可以实现吗?

任何人都可以使用Visual C ++指向任何示例吗?

或者是否有更好的方法单独创建GUI?

7 个答案:

答案 0 :(得分:23)

使用Qt4。 http://qt-project.org/

这是一个自包含框架,其中包含开发人员工具,GUI构建器,String / IO / XML / Thread类,音频/视频控件,HTML小部件以及许多更多功能。它构建为完全多平台,一个代码适用于所有系统。

与wxWidgets相反,它感觉更加面向对象,并且具有更好的文档和更好的维护。

在线查看:http://qt-project.org/doc/qt-4.8/

编辑 - 原答案6年以来。我应该指出Qt5 - http://www.qt.io/

答案 1 :(得分:11)

我会推荐wxWidgets。它是跨平台的,适用于Visual C ++。

还有Qt(参见Colins帖子),这是KDE(Linux桌面管理器)使用的。但它有更严格的许可证。

答案 2 :(得分:9)

您还可以查看FLTK

  

FLTK(发音为“fulltick”)是适用于UNIX®/Linux®(X11),Microsoft®Windows®和MacOS®X的跨平台C ++ GUI工具包.FLTK提供现代GUI功能,没有膨胀并支持3D图形通过OpenGL®及其内置的GLUT仿真。

     

FLTK设计得很小,模块化程度足以静态链接,但作为共享库可以正常工作。 FLTK还包括一个名为FLUID的优秀UI构建器,可用于在几分钟内创建应用程序。

以下是一些快速入门screencasts

答案 3 :(得分:5)

  1. GTK+
  2. QT
  3. wxWidgets
  4. 如果您在询问.NET(假设这是Visual C ++ 2008),那么Linux和Mac OS X用户都可以使用Mono运行.NET应用程序。

答案 4 :(得分:5)

由于用户界面非常简单,我建议您使用Visual Studio在Windows中启动,并将所有用户界面内容保存在单独的文件中,将其与应用程序的其余部分完全分离。

然后,在OS X上,您将通过创建Cocoa应用程序并在Objective C中结合Interface Builder编写用户界面来获得最佳视觉效果。然后,您可以轻松地将接口与内部C ++代码连接起来。 (Objective C编译器在与Objective C代码相同的文件中理解C ++代码。)

这将让您生成一个跨平台的应用程序,该应用程序在Windows和OS X上都是正确的,这是QT或其他跨平台工具包可能永远无法完全实现的。

答案 5 :(得分:3)

我建议您查看Qt工具包。它包含跨平台的UI元素。可以在VS2008中使用它。

答案 6 :(得分:1)

Gtkmm是C ++,并且已经证明可以在Linux和Windows中使用Visual Studio。