web-dev-qa-db-ja.com

スタンドアロンPython GUI用の美しいUIを作成する方法

python GUI用の美しいUIを作成するのは不思議です。

このようなもの:

Something like that.どうやってやるの ? ElectronのようなJSフレームワークを使用すべきですか?

Or like that

How can i do that ? Should i use JS freamworks like Electron?

13
Eren Arıcı

pythonを使用した「きれいな」GUIで見た最適なオプションはKivyです。 例のギャラリー を参照してください

8
scotty3785

これらのダッシュボードを使用する場所によって異なります。IoT向けのデバイスに依存しないアプリケーション(Raspberry Piなど)では、オープンソースとして Thingsboard をお勧めします。そうでない場合は、 Losant を気にしないのも良い選択です。しかし、scotty3785が述べたように、Webベースではないアプリケーションの場合、 Kivy は非常に良い選択です。
しかし、それはあなたの選択に依存します。

3
user8128255

人々がすでに言ったことのように、それはあなたがあなたのGUIの中に何を入れようとしているか、そしてそれをどこに置きたいかに依存します。しかし、他の人が提案した他のすべてのGUIプログラムは、私にとってダウンロードするのが難しく、学ぶのは非常に困難でした。私はあなたが以前にtkinterを使用したことがあると思います(これには期待はずれの美学があります)。

他のライブラリやソフトウェアをダウンロードするのではなく、tkinterを使い続け、ラベルウィジェットとバインド機能のみを使用することをお勧めします。詳細は here です。バインド関数を使用すると、特定のウィジェット上でマウスクリック、キーボード入力などが発生したときにアクション(関数)を呼び出すことができます。基本的に、マウスクリックアクションをラベルにバインドしてボタンを作成できます。 GUIでラベルをクリックするたびに関数が呼び出されますが、テキストの周りにい境界線が表示されなくなり、見栄えが良くなりました。同様に、入力ウィジェットを使用する必要はありません。空のラベルにキーボードイベントをバインドできます。次に、コード内で、押したキーボードの文字/数字を、ラベル内のテキストを制御するstringvarに追加できます。リストはどんどん増えていきますが、基本的には、ラベル、フレーム、キャンバスのみをバインド機能と共に使用して、見栄えの良いGUIを作成します。

以下に、見栄えの良いラジオボタングリッドを作成した例を示します... enter image description here

これにより、テキストのサイズに合わせて円のサイズをカスタマイズし、選択した円と選択していない円の色を変更し、テキストとボタンの円の間隔を変更できます。

3
ZackBoi

こんにちは、あなたが求めているのは、まさに幽霊が狙っているものです。唯一の注意点は、これがまだ新しく、おそらく少し緑色であるという事実です

https://github.com/sciter-sdk/pysciter

2
Daniel