23

Linux C++ GUI アプリを作成する最も簡単な方法は何ですか? GNOME と ubuntu 8.10 を使用しています。

4

8 に答える 8

37

最も簡単な方法は、GUI GUI ビルダーを使用することです。

GTK のグレード。

QT のための QT デザイナー

wxWidgetswxDesignerwxFormBuilder

更新: これらは他の多くの出力の中で C++ を出力することに言及する必要がありますか?

于 2009-03-15T11:41:10.427 に答える
23

個人的には、シグナル/スロット メカニズムを使用する方が好きで、QT を使用するとアプリケーションを迅速に開発するのが簡単だと思うので、QT を好みます。他のオプションには、wxWidgets と GTK+ があります。

于 2009-03-15T01:30:31.113 に答える
13

gtkmm は gtk への c++ バインディングであり、正常に動作するはずです

于 2009-03-15T01:31:18.880 に答える
7

これまでに言及したツールキット (GTK+、QT、および wxWidgets) について明確にするために

GTK+ は GNOME で使用されるツールキットです

QT は KDE で使用されるツールキットです。

wxWidget は、これら (およびその他) を抽象化して、デスクトップ環境にあまり依存しないようにすることを目指しています。

覗いてみる価値のあるもう 1 つのツールキットは、E17 で使用されているツールキットであるEFLです。このデスクトップ環境の氷河期の開発速度には気が進まないかもしれませんが、その設計については素晴らしいと聞いています。imlib2 などの Enlightenment プロジェクトの一部のコンポーネントは、他のプロジェクトで長年使用されていることに注意してください。

于 2009-03-15T11:53:19.413 に答える
6

QT を試してみてください。Ubuntu で動作し、その背後には多くの開発ツールとドキュメントがあります。

例:チュートリアル、または別のチュートリアルまたはさらに別のチュートリアル

于 2009-03-15T01:42:03.410 に答える
4

私はジュースをお勧めします。エレガントで、クロスプラットフォームで、高速で、よく書かれており、ほぼ完全にバグがなく、実行するすべてのプラットフォームの最後のピクセルと同じです. 既知のバグの数はほぼ常にゼロです。バグ レポートが提出されると、作成者はすべてを削除して修正するからです。The Registerは少し前にそれについての記事を書きましたが、これはライブラリーのかなり良い概要を示しています。

于 2009-12-30T00:16:18.687 に答える
3

私は個人的に、qtの使いやすさ、およびLinux固有の開発を保証することができます。見てみな :)

于 2009-03-15T02:31:31.887 に答える
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();
}
于 2011-02-09T15:25:54.423 に答える