2012-01-13 12 views
0

可能性の重複:私はそこにいることを知っている
What cross platform GUI library has the most native feel for each platform?クロスプラットフォームのGUIライブラリ

多くのクロスプラットフォームのGUIライブラリ よう

GTK

wxWidgets

しかし私は、ホストOSのguiスタイルをown.Iで使用しているGUIライブラリを探しています。私は、各OSのクロスプラットフォームアプリケーションがそのOS用に直接書き込まれた他のアプリケーションよりも必要であることを望みます。

まあ、それは明らかですか?

問題は私がguiライブラリスタイルを受け入れることができないことです。なぜなら、それらは美しくない(しかし、醜いわけではありません:))。

+4

私はwxWidgetsがあなたの最も安全な賭けかもしれないと思います。それは、ほとんどの場合、ネイティブウィジェットを使用しようとします。 – Vlad

+0

本当ですか?私はそのウェブサイトにそのようなものは何も見ませんでした。あなたはこの機能がそこに書かれているウェブページを私にリンクできますか? – Saleh

+0

私が試した最後の2回、wxWidgetsをLionでコンパイルすることができませんでした。 +1はQtの答えには、最近のはるかに良いサポートとLGPLのライセンスを得た。 QtはQSS(CSSのおおよその近似)を使ってスタイルができるという点で「美しい」チャンスがはるかに多いです – synthesizerpatel

答えて

4

Qtを試してみて、それだけで

+2

@pst、Qtにはネイティブルックを使用するオプションがあります。それは "左右のOKキー"のようなものを行うことさえできます。 –

+0

それは長い間今は真実ではありませんでしたが、多くの人々がそれを広めていました。 VLCやクレメンタインを使っていますか?どちらもQtアプリケーションであり、サポートされているすべてのプラットフォーム上で見た目と動作が非常にネイティブです。 –

+1

@pst:私の経験では、Qtは通常、Qmlやスタイルシートのおかげで、ネイティブ、またはアプリケーションごとに固有のように見えます。 –

0

それは前述のようにOSX上のウィンドウやボタンの特別な種類に、そう何のリボンを、すべてのOS(Windowsは、Linuxは、OSXがサポートされている)のために共通しているウィジェットのサブセットのみを提供していません上記のwxWidgets libは、ネイティブのGUIレンダリングを使用します。しかし、Abiwordワードプロセッサで使用される別のアプローチもあります。抽象化(独自のフレームワークのようなもの)を作成することで、UIとアプリケーションロジックを分離することができます。コントロールを作成するためのUIコードはプラットフォームに依存しますが、コントロールのアプリケーションロジックとイベントハンドラはすべてのプラットフォーム共通です。

このような方法でGUIを実装するのはむしろ難しい作業ですが、この場合、クロスプラットフォームのライブラリは、OSのGUI標準(完全にネイティブに見えるアプリケーション)の差異を決して提供しません。

Btwでは、Abiwordのソース(http://abisource.com/developers/)を見て、そこにどのように実装されているかを理解することができます(クロスプラットフォームの部分はhttp://www.abisource.com/viewvc/abiword/trunk/src/af/です)。たぶん、それは過度のものですが、それは始めるのに適しています。

関連する問題