web-dev-qa-db-ja.com

軽量C ++ Guiライブラリ

Windows上でC++を使用してGUIアプリケーションを作成したいと思います。 Qtをダウンロードしましたが、うまく機能しますが、たくさんのものが含まれていて、ヘッダーファイルが多すぎて実際には使用していません。これは素晴らしいフレームワークですが、GUIだけではありません。

「単なるGUI」であるWindowsC++用のより軽いGUIライブラリはありますか?

23
QAH

FLTK、軽量化を真剣に考えているなら。

http://www.fltk.org/

編集:
ウェブサイトからの宣伝文:

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

そのmaturestableも追加します。

16
Shaun

WxWidgetsがすでにここで名前が付けられている場合でも:

wxWidgets!

その素晴らしい価値のあるフレームワーク(API、クラスライブラリ、あなたがそれを呼ぶかもしれないものは何でも)。

ただし、このライブラリの機能を多くの小さな部分(ベース、コア、GUI、インターネット、xml)に分割し、必要に応じて使用することができます。

本当に優れたGUIアプリケーションを作成したい場合は、優れたAPIを使用する必要があります。 wxWidgetsは絶対に無料で(QTはそうではありません)、dllまたはoファイルとしてリンクされたバイナリ形式の小さなオーバーヘッドだけが必要です。それは約2メガですが、優れたアプリケーションをプログラムするために必要なすべてを提供する必要があります...

そして、wxWidgetsはQTよりもはるかに軽量です...そしてさらに優れています... :)

それを試してみてください...

7
DirkMausF

[〜#〜] juce [〜#〜] はかなり軽量で、1つの.cppと1つの.hファイルのように単純にすることができます。 (統合されたJUCEを見てください)ただし、標準のWindowsアプリのようには見えません。一方、それはクロスプラットフォームです。

5
Roland Rabien

[〜#〜] cegui [〜#〜] は強力なGUIライブラリですが、よくわかりません(明確にしない)軽量とはどういう意味ですか。ヘッダーもたくさん含まれていますが、それらはすべてGUIまたはそのレンダリングに関連しています。私のコンピューターでは、デフォルトのVS2010リリースモードで組み込まれている現在のリリースは、dllに合計で約3MBかかります。もちろんスペースを取るアセットもありますが、明らかにこれらはニーズに応じて異なる場合があります。アセットでXMLファイルと画像ファイルを使用し、画像が最も多くのスペースを占有します。要件に応じて多数のdll(png、jpeg、xml解析dll)が必要ですが、リリースではすべて非常に小さいです。したがって、使用しているDLLが多すぎることについて不合理に衒学者でない限り、これは問題にはなりません。

これはC++で記述され(0.7-1.0はC99標準に基づいており、2.0 +はC++ 11標準に基づいています)、動的および静的リンクをサポートしています。ダイナミックリンクは、Windowsでサポートされているタイプです。 Windowsでの静的リンクはCEGUIには推奨されません。

ここに機能の短い要約があります:

  • Modern(uses[〜#〜] stl [〜#〜][〜#〜] xml [〜#〜]はアセットファイル用であり、互換性を最大化するためにC99標準を内部的にサポートし、1.0リリース以降は開発ブランチでC++ 11を使用している)。また、Unicode文字とすべての種類の言語(サンプルに見られるように)もサポートしています。

  • 次のウィジェットをすぐに使用できます:テキストフィールド(スクロール可能)、編集ボックス、複数行編集ボックス、スピナー、チェックボックス、ボタン、ラジオボタン、タブ付きウィンドウ、プログレスバー、スクロール可能なペイン、スライダー、ドロップダウンメニュー(コンボボックス)、メニューバー、レイアウトコンテナー(垂直/水平)など

  • オープンソースMITライセンス、あなたに最も自由を提供するライセンスの1つ、あなたはする必要があるだけですアプリケーションと一緒にライセンスファイルを配布し、それだけです

  • レイアウトは、Pythonで記述されたWYSIWYGエディターを使用して簡単に作成および編集できます。 CEEDと呼ばれ、無料で入手することもできます。それは多くのテストを経ており、生産に使用するのに適しています。安定したリリースが公開されており、将来に向けて新しい機能が開発されています。イメージセットエディタも同じアプリケーションで利用できます。

  • 述べたように、これは商用利用は無料です。あなたが持っている唯一の義務は、ライセンスファイルを配布することです。

  • CEGUIは、クロスプラットフォームでの使用に適しています。公式にはWindows、Linux、Mac OSをサポートしています。 iOSとAndroidでも使用されています。 Androidは開発ブランチでサポートされています。

もともとはゲーム用のGUIライブラリとして設計されましたが、科学アプリケーション、レンダリングアプリケーション、視覚化での使用にも最適です。デスクトップアプリケーションも実行できます。シンプルなWindowsのようなスキンがデフォルトのアセットで利用できます。

10年以上前から存在しており、活発なコミュニティがあり、堅牢で機能が豊富で拡張可能なライブラリです。

4
Ident
3
Stefano Borini

Microsoft Foundation Class Library(MFC)

WINDOWS ONLY SOLUTIONを探していることを考えると(そしてwxWidgetsがこのスレッドで投票されている)、軽量性をトレードオフしたいと思うかもしれませんMFCをチェックアウトします。
Windowsに関する限り、MFCとwxWidgetsは首と首を争うようですが、全体として、前者は後者よりも軽いです。

いくつかの長所:-

  • MSVC MFC RADサポート。VisualStudioは間違いなく最高の「RADツールとGUIライブラリ」コンボを提供します。他に近い唯一の「動的デュオ」はQtCreatorとQTのものです。wxSmithはそうではありません。すべてを完全にサポート
  • wxWidgetsコンポーネントですが、改善を続けています。商用GUIコンポーネントの非常に豊富なセット。
  • 無料(ただし独自仕様)。
  • データバウンドコントロールに関しては非常に優れています。

いくつかの短所:-

  • 他のプラットフォームに移植することを決定した日は、クロスプラットフォームライブラリを使用したいと思うでしょう。
  • MFCの独自の性質は、ライセンスを非常に注意深くナビゲートする必要があることを意味します。しかし、AFAIK、MFCはバイナリ形式で自由に再配布できます。
    「MFCとFLOSSアプリケーション」である「油と水」に触れた素敵な記事があります 。どうやら、彼らはただ混ざっているかもしれません。

とにかく、MFCからのアパート、私は FOX-Toolkit も言及に値すると思いますが、FLTKと同様に、主な欠点はまともなIDEの欠如とRADツールと比較して、たとえば、QTまたはwxWidgets

1
mrmoje

IUPは、学習曲線の両方の観点から、私が知っている最小のものですDLLサイズと機能

1
Bulat

glade3でGTKを試してみてください。

0
frank

EGuiを試してください( ここ または ここ を参照)または [〜#〜] wtl [〜#〜]

0
Josh Kelley