web-dev-qa-db-ja.com

GUIアプリ用のクロスプラットフォームCライブラリ?

無料、シンプルな学習/使用、GUIアプリ用のクロスプラットフォームCライブラリ? Qtを探していますか?

ボーナス質問:Macで上記のライブラリ/ツールキットを使用して開発し、PC/Linuxで再コンパイルできますか?

スーパーボーナス質問:チュートリアルへのリンクおよび/または前述のライブラリのダウンロード。

真実は、私がiPhone開発を学ぶためにCファミリー(Web開発から来ている-XHTML/PHP/MySQL)に追いついているということです。

CはC++やObjectiveCではないことを理解していますが、学習曲線をできる限りシンプルに保ちたいと思います。トピックから離れすぎないように、私は良いスターターブックやウェブサイトにも目を光らせています。 これまでのところ が見つかりました。

ここで一石でたくさんの鳥を殺そうとしています。プラットフォーム固有の拡張機能があることは理解していませんが、移植の目的でそれらを回避しようとします。アイデアは、1台のマシンでコードを記述し、3回だけコンパイルすることです。 (Mac/Win/Linux)Objective CがOS Xと同様にWindowsとLinuxでもコンパイルできる場合、それは良いことです。 C++を使用する必要がある場合も、それで問題ありません。

37
Moshe

C++ライブラリを探している場合、 Qt は基本的に探していることを行います。純粋な[〜#〜] c [〜#〜]に固執したい場合、Qtはオプションではありません。

Cフレームワークとして GTK + を使用できます。Linux、Windows、およびOS Xで動作します。

16
sth

IUP Toolkit をご覧ください。主にCで書かれており、 Lua にも簡単にバインドされます。

9
RBerteig

私が使用を検討したものの1つは [〜#〜] efl [〜#〜] でした。これは非常に高速で、シンプルで、小さいながらも強力です。最もシンプルなGUIツールキットであるElementaryに飛び込んでから、後で使い慣れたらEDJEに移行することをお勧めします。EDJEは単純ではありませんが、はるかに強力です。

3
MiJyn

QtはC++ライブラリです。あなたが考慮するかもしれない他のクロスプラットフォームライブラリは、 wxWidgets (C++)、および [〜#〜] gtk [〜#〜] (C)です。

提示された3つのライブラリはすべて完全にクロスプラットフォームです。 Tcl/Tkも見ることができますが、それはツールキットです:)。

3

もう1つのオプションはTで、これはCで書かれたGUIライブラリです。これもCで書かれたスクリプト言語であるTclが付属しています。これらはCプログラムに埋め込まれるようにゼロから設計されました。

3
Bryan Oakley

この投稿を完了するには、Allegroがここにいる必要があります=)

http://www.talula.demon.co.uk/allegro/ Allegro Game Libraryには、多くのグラフィック機能と基本的なGUIライブラリがあります

そして、明示的なGUI(および非常に単純な)Allegroベースのライブラリ

http://cgui.sourceforge.net/index.html

両方のマルチプラットフォーム

3
Hernán Eche

Ecere SDK をご覧ください。クロスプラットフォームのGUIツールキットを提供し、GUIの構築に最適なC(すべての機能を備えた)から派生したオブジェクト指向言語であるeCを提供します。

2
Jerome

qt に関するこの質問にタグを付けました。これは私が従うタグです。ただし、 c プログラミングに関しても質問しています。

何らかの奇妙な(またはドメインに強制された)理由で、C++ではなくCを使用する必要があると感じた場合、 Qtはあなたには向いていません。 C++ライブラリとしてゼロから設計されました。

しかし、なぜあなたのプロジェクトが need をCにする必要があるのか​​を問うことを強くお勧めします。C++には多くの利点があります。いくつかのハードデータについては、Bjarne Stroustrupの C++を新しい言語として学習 をご覧ください。

もし、あんたが しなければならない Cに固執すると、常にGTKがあります。 GTK + の基礎となるAPIはCですが、C++には GTKmm と呼ばれるバインディングも存在します。私はデザインの観点からは大ファンではありませんが、歴史的にはGnomeデスクトップ(Ubuntuのデフォルト)を搭載しています...そして、GoogleはLinuxのChromeのバージョンのためにそれを選択しました。いくつかの信用とサポートがあります。

ただし、Ubuntuはデスクトップで「Unity」の次のバージョンを実装するためにQt5を選択していることに注意してください。

https://askubuntu.com/questions/281092/why-is-canonical-choosing-qt-over-gtk-for-unitys-next-generation


EDIT:追加:

C++を使用する必要がある場合も、それで問題ありません。

「Must」は強力な言葉ですが、実際にはC++/QtとC/GTKの比較はありません。そして後者は歴史的なものになりつつあります。

1
HostileFork

さらに別のオプションがありますが、制限があり、一部の人にとってはugいかもしれません:AGUI

マニュアル: http://intron-trans.hu/agui.html

Windowsバイナリ: http://intron-trans.hu/agui-bin-mingw-v090b.Zip

ソースコード: http://intron-trans.hu/agui-src-v090b.Zip

0
LRMAAX