Tkinter コンボボックス

Tkinter Konbobokkusu



Python Tkinter の独自の変更である ttk パッケージは、この追加コンポーネントを導入します。 Python Tkinter ComboBox は、ドロップダウン メニューからの各選択肢を 1 つずつ表示します。現代的な外観で、露出が重要な場所に適しています。ガジェット Entry は、Python ComboBox のクラス機能です。その結果、Entry クラスからいくつかを継承しながら、いくつかの追加の選択肢と機能を追加します。

いくつかのプログラムで見られる重要なウィジェットは ComboBox です。ユーザーには、選択肢のリストが表示されます。複数の値があり、一度に 1 つしか表示されません。今日のチュートリアルでは、Tkinter を使用して Linux で ComboBox を使用する方法について説明します。

例 1:

Python での Tkinter モジュールの最初の例から始めましょう。ターミナル コンソールを使用して、拡張子が「py」の新しい Python ファイルを作成します。その後、任意のエディターを使用して、新しく生成された Python ファイルをファイル エクスプローラーから開くことができます。この Python コードは、すべてのサブオブジェクト、クラス、および組み込みエンティティと共に、コードに Tkinter ライブラリをインポートすることから始めます。







コードで使用する ttk オブジェクトをインポートします。まず、Tkinter の Tk() 関数を呼び出して、オブジェクト「t」に新しい値を追加します。オブジェクト「t」を使用してジオメトリ関数を呼び出し、「200×150」のグラフィカル ユーザー インターフェイスを作成します。この最初の例では、Tkinter の「frame()」メソッドを使用して、コンソール画面に GUI フレームを作成します。フレームのオブジェクト「f」は、ここで Tkinter pack() 関数を使用して閉じられます。



この後、合計 5 つの文字列値を含む文字列型のリスト「l」を作成します。この後、Tkinter ttk オブジェクトを利用して、フレーム「f」内で Tkinter の ComboBox 関数を呼び出します。リスト「l」が渡されます。この ComboBox は変数「C」に保存されます。 「set」関数を使用して ComboBox のラベルを設定し、ComboBox を正確なパディングでパックします。次に、mainloop() 関数を実行して、Tkinter プログラム全体を実行します。







Python スクリプトが完成したら、Ctrl+S でコードを保存し、Linux システムのシェル コンソールに戻ります。以下に示すように、シェルで Python3 命令に続いて Python ファイルの名前を実行し、ファイルを実行しようとします。

$ python3 test.py



クエリの実行後、コンソール画面に「tk」というタイトルの次の Tkinter GUI が表示されます。 GUI 画面には、「色を 1 つ選択」というタイトルとそれを開くための三角形の記号が付いたコンボボックス、つまりドロップダウン リストが含まれています。

三角形の記号をタップすると、使用可能なすべてのオプションを含む長いドロップダウン リストが表示されます。合計 5 つのオプションから選択できることがわかります。

たとえば、ドロップダウン リストから「黒」という色を選択したとします。選択した色がドロップダウン ComboBox のタイトル領域に表示されていることがわかります。残りのリストは非表示です。

例 2:

今回は、別の方法を使用して Tkinter で ComboBox を作成する別の例を見てみましょう。したがって、この Python コードは、「tk」と同じ Python ファイルに Tkinter モジュールをインポートし、その ttk クラスをインポートすることから始めます。その後、Tkinter モジュールのメッセージ ボックス クラスから showinfo() 関数をインポートします。また、Python の calendar モジュールから month_name 変数をインポートします。

Tkinter モジュールの tk オブジェクトで tk() 関数を呼び出し、コンストラクターの結果を変数「t」に保存します。ジオメトリ関数は、特定のサイズで Tkinter の GUI を作成するために、指定されたパラメーターで呼び出されます。 title() 関数は、パラメーター「Combobox Illustration」で呼び出され、Tkinter GUI にタイトルを付け、ラベル「l」を作成するために ttk クラスから Label 関数を呼び出します。 pack 関数は、ラベル「l」を埋めるために使用されます。変数「mn」は、「tk」クラスの StringVar() 関数で作成されます。コンボボックス「mcb」は、コンボボックス関数と変数テキスト「mn」を使用して作成されます。 mcb ComboBox には、「for」ループ内で使用される month_name 変数を介して最大 13 個の文字列値が入力されます。

「mcb」ComboBox の状態は読み取り専用に設定され、パックされています。 showinfo() 関数を呼び出すための choose() 関数が作成され、「確認」というタイトルの警告ダイアログ ボックスと「{値が何であれ} を選択しました。 bind() 関数は、「ComboboxSelected」パラメータと「change」関数を追加することにより、「mcb」ComboBox で呼び出されます。 mainloop() 関数は、Tkinter プログラムをループアウトするために実行されます。実行する前に、まず保存しましょう。

python3 クエリを使用してこのファイルを実行します。

$ パイソン 3 test.py

「ComboBox illustration」という名前の次の Tkinter 画面が次のように表示されます。

「Choose a Month」というタイトルの下にある ComboBox の三角記号をクリックすると、月の名前が表示されます。

「7 月」を選択すると、ラベルとダイアログ アラートに表示され、メッセージが表示されます。 [OK] を押して続行します。

結論

これはすべて、Python の Tkinter モジュールを使用して、GUI ウィンドウでコンボボックスを作成することに関するものです。このために、frame() 関数と、GUI でコンボボックスを作成する従来の方法を使用して目標を達成するために、Python の 2 つの単純で異なる例を試しました。両方のインスタンスのサンプル コードを組み込み、コードの実行後にいくつかの変更を加えました。