5

Windows/Linux/OS-X 用のデスクトップ アプリケーションを作成することを考えていました。GUI の要件の 1 つは、スタイルを非常に正確に設定できることです。

つまり、すべての要素を好きなように色付けしたり、要素をピクセル単位で正確に配置したり、要素の片側に境界線を付けたりしたいと考えています。 HTML + CSS の UI。

私は周りを見回してきましたが、このようなものを見つけるのは非常に難しいようです (+ ドキュメント!)。

GTK は非常に成熟しており、クロスプラットフォームであり、優れた C ドキュメントがあります。現在私が選んでいる言語である Python 3 を含む、多くの言語のバインディングがあります。また、CSS を使用してスタイルを設定することはできますが、スタイルを設定する方法と内容は非常に限られています。

XUL と python にはいくつかのサードパーティのバインディングがありますが、よくテストされているようには見えません。

次に、ローカルで python-web-server を実行し、アプリをブラウザーで実行するオプションがあります。しかし、これを追求するべきなのか、それとも私の内部の Web 開発者が従いたくないだけなのか、よくわかりません。

基本的に、私は美しいデスクトップ アプリケーションを構築できるようになりたいと思っています。なぜそれがとても難しいように思えるのですか?

4

4 に答える 4

7

OS-X は、Windows とは非常に明確で異なるルック アンド フィールを備えており、自作のウィジェットを使用したアプリケーションは異なるフィーリングを持ち、通常は奇妙で醜いものにさえ見えます。Windows 98 の頃、すべての企業が独自のルック アンド フィールを持つ独自のアプリを作成しました。1 つはモデム用、1 つはプリンター用、もう 1 つはグラフィック設定用などです。それらはそれ自体では見栄えが悪いわけではありませんが、ネイティブのルック アンド フィールと混ざり合った場合の全体的な印象は、ただ見苦しいものです。

つまり、そうです、これを望んでいるのはあなたの Web 開発者です。Web はネイティブの L&F とは非常に異なる動物です。人々は最初から違い、一貫性、グリッチ、高いレイテンシー、醜さに慣れてきました。炎とバックグラウンドミュージック。私のアドバイスは、ネイティブ アプリケーションでそこに移動しないことです。次に、Web 上で何かを構築することもできます。

ネイティブ アプリケーションは、見た目のためではなく、主に目的を達成するために使用されます。やりたいことをスピーディーに実行し (スピードが最も重要な機能です)、手間をかけずに、あいまいな外観をトーンダウンすれば、優れたネイティブ アプリが完成します!

GTK とは別に、次のツールキットの使用を検討することもできます。

他にもあります、私が知っていて推奨できるものはありません。

于 2013-01-17T12:48:18.363 に答える
3

カスタムのルック アンド フィールを備えたアプリを構築することの長所と短所に立ち入ることなく、 PyQtを使用したQtは非常にカスタマイズ可能であると言えます。Qt の CSS に似たスタイル シートを使用して、ウィジェットの外観のほぼすべての側面を調整できます。

例を見たい場合は、Temboo のビジュアル プログラミング ツールである Twyla をチェックしてくださいこれは、Python、Qt、および PyQt で構築され、Windows および Mac (および Linux ですが、公式にはサポートされていません) で実行されます。(完全な開示: 私は Temboo で働いています。) ダウンロードするには無料のアカウントにサインアップする必要がありますが、これはカスタム スタイルを備えた実質的なデスクトップ アプリの良い例です。

于 2013-01-17T15:21:12.370 に答える
2

QtQuickはあなたの問題に対する良い解決策であるように思えます。主に携帯電話向けに開発されましたが、デスクトップ アプリケーションにも適しているようです。

アニメーションとカスタム テーマを備えた多くの「モダンな」UI をサポートしています。

QtQuick は、プログラミング言語として QML を使用します。これは、JavaScript + HTML に非常に似ています。Python 3 で非常に Pythonic な方法で Qt を使用できるようにするPySideと呼ばれる API があります。これは LGPL としてライセンスされているため、ほとんどのプロジェクトと互換性があります。商用ライセンスとサポートが必要な場合は、PyQtがあります。

于 2013-01-17T13:00:15.133 に答える
0

私はジョナスに同意します。車輪を再発明するのではなく、十分に確立されたものに固執してください。視覚的により魅力的なものを作成する必要がある場合は、次のいずれかを試すことができます

これらのどれも Python とは何の関係もありません。いくつか問題が発生することは間違いありませんが、要件を満たす必要があります。

于 2013-01-17T13:01:41.857 に答える