ホームページ > バックエンド開発 > Python チュートリアル > 私はあなたのプロジェクトにGUIとTUIを追加するライブラリを作成しました

私はあなたのプロジェクトにGUIとTUIを追加するライブラリを作成しました

Susan Sarandon
リリース: 2025-01-30 02:13:42
オリジナル
385 人が閲覧しました

Mininterface:GUI、TUI、CLI、および構成ファイルを実装するための1つのラインコードの分析

Pythonにはバッテリーが付属しているとよく言う人もいますが、このバッテリーユニットは聞いていないかもしれません。

githubプロジェクトアドレス

背景

私には多くのアイデアがあり、たとえそれが実現したとしても、UIのために多くの時間を設計することに常に苦しめられてきました。リモートコンピューターで実用的なプログラムを使用する場合、インタラクティブなTUIが必要です。

長年にわたって、私はそのようなことがあるかどうかを研究してきました。 5月に、私は大規模な研究を実施し、30の現在のライブラリを比較しましたが、マッチングは見つかりませんでした。最終的に、私はこの完璧なプログラムを作成しましたが、過去6か月間、私はすべてのアイテムでそれを使用しています。また、他の人のために多くの仕事を節約することもできます。

hello world

重要なのは、Dataclass(ES)を使用してプログラム構成を保存することです。これが唯一の条件です。 Mininterfaceは残りの責任を負います。 Argparseを忘れてください。

このデータクラスを見て、それを実行(env)に梱包すると、完了です。

<code class="language-python">from dataclasses import dataclass
from mininterface import run

@dataclass
class Env:
    my_str: str = "Hello"
    my_int: int = 10

m = run(Env)
m.form()
print(m.env.my_int)  # 10</code>
ログイン後にコピー
メソッドを呼び出すと、ダイアログボックスがポップアップします。グラフィック環境では、次のように見えます:

m.form()

表示されていない場合は、テキストインターフェイスの使用を主張します。まだ完全にインタラクティブです(マウスを使用することもできます)。 I

各属性はコマンドラインでアクセスすることもできます。

I

最後に、

というファイルがある場合、すべての値はデフォルトでファイルから取得されます。とてもシンプルですね。

Iその他の関数

このライブラリの最初の動機はフラストレーションであるため、多くの詳細もあなたのフラストレーションを排除できることがわかります。ネストされた構成、選択処理(スムーズ!)、検証、その他の便利なダイアログボックステンプレート、画像表示(はい、端末でも)...過去数週間で、日付 /時刻選択の日付に最適なカレンダーを追加しました。これは、見栄えが良いが使用するイライラする企業スタイルカレンダーだけではありません。このカレンダーは、実際のユーザー向けに設計されています。矢印キーの動作は非常にスマートであり、すべてをキーボードを通して完全に制御できます。

program.yaml

ドキュメントを見てください。コードフラグメントがすぐに実行できない場合、またはコードフラグメントが単なるデポジットである場合、プロジェクト全体を破棄する傾向があることを経験から知っています。これが、すべてのコードの例が自己完結型であることを確認し、プログラムの各部分の役割を明確に理解するためのスクリーンショットを常に含める理由です。

アイデア

最良の部分?インターフェイスを自分で再発明する必要はありません。

画像の表示に悩まされていますか?一度改善すると、プログラムを強化するだけでなく、Mininterfaceを使用してすべてのプロジェクトを強化します。一緒に働くことができます。

インターフェイスの安定性と高い直観を維持するよう努めていても、変更と新しい機能を受け入れることをいとわない。どう思いますか?他に何がありますか?どのように見えるはずですか?最大の問題点は何ですか?あなたはそれを試してみるように何を説得しますか?

githubプロジェクトアドレス

以上が私はあなたのプロジェクトにGUIとTUIを追加するライブラリを作成しましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート