Tkinter プログレス バー

Tkinter Puroguresu Ba



プログレス バー ウィジェットを使用して、時間のかかるプロセスのステータスについてクライアントを更新できます。ウィジェットの目標は、何かが起こっているという確信をユーザーに与えることです。 2 つの異なる操作モードがあります。確定モードの場合、ウィジェットは所定の方向に移動する指示を表示します。ウィジェットは、何かが起こっているという印象をクライアントに与えるために、不確定な状態で移動されます。信号は、このスタイル全体でウィジェットの端の間を前後に振動します。このチュートリアルでは、Python での確定および不確定プログレス バーの使用法について説明します。

Python の Tkinter ライブラリの構成から始めましょう。ターミナルが正常に起動したら、次のクエリを試して Tkinter パッケージを構成します。この手順を使用する前に、Python が既にインストールされていることを確認してください。

$ sudo apt install python3-tk







例 1

Python の最初の例から始めましょう。Tkinter モジュールを使用して、GUI に確定進行状況バーを作成します。したがって、「new.py」という名前の新しい Python ファイルを作成し、次のコードを追加しました。最初の行で Python の Tkinter ライブラリからすべての子オブジェクトをインポートすることで、このコードを開始しました。その後、コードの 2 行目で Tkinter モジュールから「ttk」クラス オブジェクトをインポートしました。



Tk() クラス コンストラクターが呼び出され、そのオブジェクトが 't' 変数に保存されました。 GUI のタイトルを作成するために、「t」オブジェクト変数を使用して「title」関数に到達しました。 GUI Tkinter ウィンドウのサイズは、geometry() 関数によって「300×200」に設定されています。プログレス バーは、「Pbar()」ユーザー定義関数によって生成されます。この機能については、この記事の後半で説明します。



変数「p」を 8 に作成しました。 番目 この Python コードの行は、「ttk」クラス オブジェクトを介して Progressbar() 関数を使用し、GUI 画面に進行状況バーを作成しています。オブジェクト「t」は、方向が水平に設定され、長さが 400 に設定され、モードが確定している間に渡されました。つまり、特定の方向にのみ移動します。 「y」軸のパディングは、このプログレス バーの「pack()」関数を使用して 30 に設定されています。





この後、Button() 関数を使用して新しいボタン「b」を作成し、オブジェクト「t」、テキスト、およびボタンをクリックした後に実行されるコマンド、つまり呼び出された関数を渡しました。 「Pバー」機能。 Pbar() 関数は、プログレス バー「p」の値を 10 ずつインクリメントし、変数「b」に戻します。ボタンの「y」軸のパディングは pack() 関数を使用して「10」に設定されており、mainloop() 関数は実行全体をループアウトするためにここにあります。



Python コードを完成させた後、それを保存し、「python3」クエリの後にファイル名「new.py」を付けてコンソールで実行しました。

$ python3 new.py

コンソール画面に「Progress Bar」というタイトルの Python の Tkinter GUI が起動しました。次の画像では、処理されていないプログレス バーのみが表示されています。最初にボタンをタップする必要があります。

ボタン「Tap here!」をタップした後、青いプログレス バーが次のように表示されました。

3 回連続してクリックした後、動きのない次のような進行状況を受け取りました。

プログレス バーの最後に到達すると、それ以上進むことはできません。つまり、確定プログレス バーです。

例 2

Tkinter GUI Python モジュールを使用して、プログレス エリア内で前後に移動できる不確定プログレス バーの作成を見てみましょう。そのため、Tkinter モジュールを「tk」としてインポートし、「ttk」クラスから ttk オブジェクトをインポートして、この Python コードを開始しました。 tk オブジェクトは、コンストラクター「Tk()」の結果を取得するためにキャストオフされ、変数「t」に保存されます。



「t」変数は、表示される GUI ウィンドウのサイズを決定するための geometry() 関数と一緒に GUI のタイトルを追加するために、title() 関数で使用されています。 GUI を表形式で編成するために、「t」変数を指定して grid() 関数が呼び出されています。

その後、変数「p」を使用して、同じ「t」変数、水平方向、長さ 300、不確定モードの ttk クラス オブジェクトの Progressbar() 関数を介して進行状況バーを作成しました。プログレス バーは、「x」軸と「y」軸に特定のパディングを使用する「grid()」関数を介して表形式で編成されています。プログレスバーの移動を開始、終了、および前後に移動するための「s」と「e」の 2 つのボタンを作成しました。







両方のボタンの grid() 関数の sticky パラメータは、方向、つまり東と西を定義します。コマンド「開始」と「停止」は、9 の両方のボタンに設定されています。 番目 そして11 番目 ライン。 mainloop() 関数の実行により、プログラムが完成し、保存後に使用できるようになります。





実行は、同様の方法を使用して行われました。





$ python3 new.py

GUI を起動すると、次の画面が表示されます。



「Tap to Start」ボタンを押すと、進行状況バーが前進し始めました。

終わりに達した後、反対方向、つまり西に移動します。

「タップして停止」ボタンをタップすると、プログレスバーが再び初期位置に設定されます。

結論

この記事では、Tkinter GUI での進行状況バーの使用について説明しました。 Tkinter クラスのオブジェクトを利用してさまざまなウィジェットを呼び出し、Python GUI をよりインタラクティブにしました。例では、確定進行状況バーと不確定進行状況バーの使用について説明しました。これらの実装を楽しんでいただければ幸いです。