如何制作Linux C ++ GUI应用程序

时间:2009-03-15 01:27:29

标签: c++ user-interface ubuntu gnome

制作Linux C ++ GUI应用程序的最简单方法是什么?我正在使用GNOME和ubuntu 8.10。

8 个答案:

答案 0 :(得分:35)

最简单的方法是使用GUI GUI构建器。

GTK的{p> Glade

QT的{p> QT Designer

对于wxDesigner

wxFormBuilderwxWidgets

更新:我应该提到这些输出C ++和许多其他产品?

答案 1 :(得分:23)

我个人更喜欢QT,因为我更喜欢使用信号/插槽机制,只是觉得用它快速开发应用程序很容易。你的其他一些选择是wxWidgets和GTK +。

答案 2 :(得分:13)

gtkmm是gtk的c ++绑定,它应该可以正常工作

答案 3 :(得分:7)

要明确到目前为止提到的工具包(GTK +,QT和wxWidgets)

GTK +是GNOME使用的工具包

QT是KDE使用的工具包

wxWidget的目标是在那些(和其他)之上的抽象,以减少桌面环境的特定。

另外一个工具包可以看看E17使用的工具包EFL,虽然这个桌面环境的冰川开发速度可能会让你失望,但我听说它的设计很好。请注意,启蒙项目中的某些组件(如imlib2)已被其他项目使用多年。

答案 4 :(得分:6)

尝试QT,它可以在Ubuntu上运行,并且背后有很多开发工具和文档。

例如tutorial,或其他tutorial或另一个tutorial

答案 5 :(得分:4)

我建议Juce。它优雅,跨平台,快速,编写良好,几乎完全没有错误,并且与运行的每个平台上的最后一个像素相同。 已知错误的数量几乎总是为零,因为当提交错误报告时,作者会删除所有内容并修复它! The Register不久前写了一篇关于它的文章,它给出了一个相当好的图书馆概述。

答案 6 :(得分:3)

我个人可以保证qt的易用性,以及linux特定的开发。把它弄出来:))

答案 7 :(得分:3)

最简单方式绝对是Ultimate++。我不知道它是多么棒,你只需要尝试它并被自己说服。以下是完整的应用程序:

#include <CtrlLib/CtrlLib.h>

using namespace Upp;

class HelloWorld : public TopWindow {
    MenuBar menu;
    StatusBar status;

    void FileMenu(Bar& bar);
    void MainMenu(Bar& bar);
    void About();

public:
    typedef HelloWorld CLASSNAME;

    HelloWorld();
};

void HelloWorld::About()
{
    PromptOK("{{1@5 [@9= This is the]::@2 [A5@0 Ultimate`+`+ Hello world sample}}");
}

void HelloWorld::FileMenu(Bar& bar)
{
    bar.Add("About..", THISBACK(About));
    bar.Separator();
    bar.Add("Exit", THISBACK(Close));
}

void HelloWorld::MainMenu(Bar& bar)
{
    menu.Add("File", THISBACK(FileMenu));
}

HelloWorld::HelloWorld()
{
    AddFrame(menu);
    AddFrame(status);
    menu.Set(THISBACK(MainMenu));
    status = "Welcome to the Ultimate++ !";
}

GUI_APP_MAIN
{
    SetLanguage(LNG_ENGLISH);
    HelloWorld().Run();
}