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

如何制作Linux C++;GUI应用程序 什么是最简单的方法来制作Linux C++ GUI应用程序?我使用的是GNOME和ubuntu 8.10。,c++,user-interface,ubuntu,gnome,C++,User Interface,Ubuntu,Gnome,我个人更喜欢QT,因为我更喜欢使用信号/插槽机制,而且我发现使用它很容易快速开发应用程序。您的其他选项将是WxWIDGET和GTK+。 < P> GTKMM是C++绑定到GTK,它应该工作精细< P>尝试QT,它将在Ubuntu上工作,并且有很多开发工具和文档在后面。p> 例如,我个人可以保证qt的易用性,以及linux特定的开发。查看:)最简单的方法是使用GUI构建器 对于GTK 对于QT 还有 更新:我应该提到,这些输出C++在许多其他方面?< P>只是要清楚迄今提到的工具包(GTK+,QT

我个人更喜欢QT,因为我更喜欢使用信号/插槽机制,而且我发现使用它很容易快速开发应用程序。您的其他选项将是WxWIDGET和GTK+。

< P> GTKMM是C++绑定到GTK,它应该工作精细

< P>尝试QT,它将在Ubuntu上工作,并且有很多开发工具和文档在后面。p>
例如,我个人可以保证qt的易用性,以及linux特定的开发。查看:)

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

对于GTK

对于QT

还有


更新:我应该提到,这些输出C++在许多其他方面?

< P>只是要清楚迄今提到的工具包(GTK+,QT和WxWIDGET)

GTK+是GNOME使用的工具包

QT是KDE使用的工具包

wxWidget的目标是在这些(和其他)的基础上进行抽象,以减少桌面环境的特定性


另一个值得一看的工具包是E17使用的工具包,尽管这个桌面环境的冰川开发速度可能会让你感到不快,但我听说它的设计很不错。请注意,启蒙项目中的一些组件,如imlib2,多年来一直被其他项目使用。

我建议。它优雅、跨平台、速度快、写得好、几乎完全没有bug,并且与它运行的每个平台上的最后一个像素完全相同。已知bug的数量几乎总是零,因为当bug报告归档时,作者会删除所有内容并修复它!不久前写了一篇关于它的文章,这篇文章很好地概述了图书馆。

最简单的方法肯定是。我说不出它有多棒,你只要试一下,相信自己就行了。以下是完整的应用程序:

#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();
}
#包括
使用名称空间Upp;
类HelloWorld:公共TopWindow{
菜单栏菜单;
状态栏状态;
无效文件菜单(栏和栏);
无效主菜单(栏和栏);
关于()无效;
公众:
typedef HelloWorld类名称;
HelloWorld();
};
void HelloWorld::About()
{
PromptOK(“{{1@5[@9=这是一个]:@2[A5@0终极版“+`+Hello world sample}}”);
}
void HelloWorld::FileMenu(条形图和条形图)
{
加上(“关于…”,这本书(关于));
条分隔符();
添加(“退出”,回写(关闭));
}
void HelloWorld::主菜单(条形图和条形图)
{
添加(“文件”,THISBACK(FileMenu));
}
HelloWorld::HelloWorld()
{
AddFrame(菜单);
AddFrame(状态);
菜单设置(THISBACK(主菜单));
status=“欢迎来到终极++!”;
}
图形用户界面应用程序主界面
{
SetLanguage(LNG_英语);
HelloWorld().Run();
}

我看过gtk,但我不知道如何安装它。我运行了配置,但它不起作用。经常尝试sudo apt get install gtk devThanks之类的方法!我不认为这会那么容易!别忘了Ubuntu和Debian倾向于将大量“经典”开发基础设施放在build essential包中,所以也要安装它。Qt I很好,虽然Qt应用程序在Gnome中看起来有点不合适。我认为QGtkStyle,特别是在QT4.5下,与本机gtk应用程序融合得很好。但是,它融合得很好,仍然存在集成问题。例如,像颜色选择器这样的标准对话框是不同的。虽然我真的很喜欢Qt,但不幸的是颜色选择器特别是,与GTK+相比,它真是太差劲了。但他们想改变这一点(使用GTK+选择器)。我切换到kubuntu,所以现在一切都很好。“冰川发育速度”?我不得不从启蒙CVS邮件列表中退订,因为每天的流量超过15次!我已经有一段时间没有关注它了。但据我所知,这个项目仍然没有发布1.0版本。按照你的说法,听起来KDE是Qt的唯一主要用户。实际上,Qt应用程序包括谷歌地球、Opera和Skype。这不可能获得足够的支持次数…这太棒了!Glade和gtkmm,完美的结合!+1刚刚发现了这一点,并100%同意:这是迄今为止创建GUI应用程序最简单、最简单的方法;此外,您不必/必须/必须/使用Upp类/模板,并且可以轻松使用boost:-)我尝试了本问题中提到的所有著名IDE,以及其他地方和其他地方最终得到了ultimate++和code::blocks(对于CLI开发人员来说最简单)几年前我使用过这个库,它写得很好,值得推荐。我们的应用程序在windows xp和linux上是完全相同的。