2009-05-22 14 views
5

非常にシンプルなGUI(バックグラウンドグラフィック、キャンセルボタン、プログレスバー)でデスクトップアプリケーションを作りたいと思っています。C++で簡単なクロスプラットフォームGUIを作成する最も良い方法は何ですか?

私の主なターゲットはMacとWindowsです。

これはVisual C++ 2008を使用して可能ですか?

誰でもVisual C++を使用して任意の例を指すことができますか?

GUIを別途作成する方がいいですか?

答えて

23

Qt4を使用してください。 http://qt-project.org/

これは、開発者用ツール、GUIビルダー、文字列/ IO/XML /スレッドクラス、オーディオ/ビデオコントロール、HTMLウィジェットその他多くの機能を含む自己完結型のフレームワークです。完全にマルチプラットフォームで、すべてのシステム用に1つのコードになるように構築されています。

wxWidgetsとは対照的に、よりオブジェクト指向であり、はるかに優れたドキュメンテーションと優れたメンテナンス性を備えています。

はそれをオンラインで参照してください:オリジナルの回答以来http://qt-project.org/doc/qt-4.8/

編集 - 6年。私はQt5を指している必要があります - http://www.qt.io/

+0

また、数ヶ月前にノキアがオープンソースを公開しています。そのようなことが重要なのであれば – Andy

+0

Qtライセンスの意味を正確に把握しようとしています。 私は自分のアプリケーションを販売していませんが、オープンソースにしたくないのであれば、商用ライセンスが必要ですか?それらは高価です! – joshcomley

+0

Andy、それは2001年のTrollteck(GPL)によるFree Sorcedでしたが、1999年にはTrolltechがオープンソースとして公開しました(QPL)。ノキアもLGPLライセンスの下でライセンスされていましたが、Qtは非営利目的の仕事では常に「無料」でした。 LGPLは、商業用としても無料です。 – elcuco

11

wxWidgetsをお勧めします。クロスプラットフォームで、Visual C++で動作します。

KDE(Linuxデスクトップマネージャー)が使用するQt(Colins投稿を参照)もあります。それはより制限的なライセンスを持っています。

+0

Qt-4.5はLGPLですが、どのように制限がありますか? – user83255

+1

@ilproxyil:私はそれが制限的であったとは言いませんでした。しかしそれはslighltyよりも制限的です(wxWidgets http://www.wxwidgets.org/about/newlicen.htm参照)。ほとんどの人にとって私はこの違いはごくわずかだと思います。 – Skurmedel

3

Qtツールキットをご覧ください。クロスプラットフォームのUI要素が含まれています。これをVS2008で使用することは可能です。

9

あなたはまた、FLTK(発音は "fulltick")はUNIX®/Linux®の(X11)のためのクロスプラットフォームのC++ GUIツールキットですFLTK

で見ることができ、 Microsoft®Windows®、およびMacOS®Xをサポートしています.FLTKは最新のGUI機能を提供し、OpenGL®およびその組み込みGLUTエミュレーションによる3Dグラフィックスをサポートします。

FLTKは、静的にリンクするのに十分小さく、モジュールであるように設計されていますが、共有ライブラリとしてうまく機能します。 FLTKには、数分でアプリケーションを作成するために使用できる、優れたUIビルダFLUIDも含まれています。ここで

あなたが(それは、Visual C++ 2008があるものだと仮定して)、その後、.NETについて質問している場合、いくつかのクイックスタートscreencasts

+0

+1 FLTK(あなたはEFF-ELL-TEE-KAYのことを止めることは決してありません)!公平であるが、Qtよりもウィジェットが少なく、いくつかは醜いです(これは私が知っている主観的なものです)。 – PowerApp101

+0

ウィジェットの数についてもちろんそうだ。しかし、私は、彼が求めているものが「非常にシンプルなGUI」であると考えています。 Qtは確かに素晴らしいですが、これほど軽量ではありません。 – epatel

5
  1. GTK+
  2. QT
  3. wxWidgets

ですLinuxとMac OS Xの両方のユーザーはで.NETアプリケーションを実行できます。

1

GtkmmはC++で、LinuxやWindowsでVisual Studioで動作することが証明されています。

5

ユーザーインターフェイスはとてもシンプルなので、Visual StudioでWindowsを起動し、すべてのユーザーインターフェイスを別々のファイルに保存してアプリケーションの残りの部分と完全に分離することをお勧めします。

OS Xでは、Cocoaアプリケーションを作成し、Interface Builderと組み合わせてObjective Cでユーザーインターフェイスを作成することで、最も優れた視覚効果を得ることができます。あなたは簡単に内部C++コードでインターフェイスをフックすることができます。 (Objective CコンパイラはObjective Cコードと同じファイル内のC++コードを理解しています)

これにより、WindowsとOS Xの両方で正しく見えるクロスプラットフォームアプリケーションを作成できます。プラットフォームキットは決して完全に達成されることはありません。

+0

私はこれが無料ソリューションなのでこれが好きです! Qtのような他のオプションは、高価であるか、または正しく動作するように作業するのが難しいようです。 – joshcomley

+0

Qtは完全に無料で、使いやすいスナップです。彼らは、オープンソース版でさえ、VSの統合も持っています。上記の答えは、2つの異なる言語で2つの別々のアプリケーションを作成することをお勧めします。あなたのような単純なGUIを正当化するのは難しいです。 – PowerApp101

+0

対照的に、単純なGUIの場合、ほとんどのコードは共有されるため、これはあまり効果がありません。そしてそれはあなたにココアを学ぶ言い訳を与えます。 :-) –

関連する問題