Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinter Comboboxで選択したオプションのインデックスを取得するにはどうすればよいですか?


アイテムのドロップダウンリストを作成し、リストのアイテムをユーザーが選択できるようにする場合は、コンボボックスウィジェットを使用できます。コンボボックスウィジェットを使用すると、アイテムのリストを即座に選択できるドロップダウンリストを作成できます。ただし、コンボボックスウィジェットで選択したアイテムのインデックスを取得する場合は、 get()を使用できます。 方法。 get() メソッドは、アイテムのインデックスと呼ばれる、選択されたアイテムの整数を返します。

例を見て、それがどのように機能するかを見てみましょう。この例では、ドロップダウンリストに曜日のリストを作成しました。ユーザーがドロップダウンリストから日を選択すると、選択したアイテムのインデックスが印刷され、ラベルウィジェットに表示されます。インデックスを出力するには、指定されたインデックスを文字列に型キャストすることで文字列を連結できます。

# Import the required libraries
from tkinter import *
from tkinter import ttk

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")

# Create a function to clear the combobox
def clear_cb():
   cb.set('')
   
# Define Days Tuple
days= ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')

# Function to print the index of selected option in Combobox
def callback(*arg):
   Label(win, text= "The value at index " + str(cb.current()) + " is" + " "+ str(var.get()), font= ('Helvetica 12')).pack()
   
# Create a combobox widget
var= StringVar()
cb= ttk.Combobox(win, textvariable= var)
cb['values']= days
cb['state']= 'readonly'
cb.pack(fill='x',padx= 5, pady=5)

# Set the tracing for the given variable
var.trace('w', callback)

# Create a button to clear the selected combobox text value
button= Button(win, text= "Clear", command= clear_cb)
button.pack()

win.mainloop()

出力

上記のコードを実行すると、日数のリストを含むコンボボックスウィジェットが表示されます。リストから日を選択すると、ラベルウィジェットにインデックスと対応するアイテムが印刷されます。

Tkinter Comboboxで選択したオプションのインデックスを取得するにはどうすればよいですか?


  1. Tkinterラベルのテキストを取得するにはどうすればよいですか?

    Tkinterラベルは、ウィンドウにテキストまたは画像を作成して表示するために使用されます。フォントファミリー、パディング、幅、高さなどのラベル情報をカスタマイズするために使用できるいくつかのコンポーネントと関数があります。ウィンドウにラベルテキストを表示するために、必要なテキストの値を書き込むことができます。ウィンドウに表示されます。 例 #Import the required library from tkinter import * #Create an instance of tkinter frame win= Tk() #Define the geometry of the

  2. Tkinterのリストボックスで選択した複数のアイテムを削除するにはどうすればよいですか?

    TkinterでListboxメソッドを使用してリストボックスを作成し、このリストから複数の選択されたアイテムを削除したいとします。 リストボックスから複数のリストを選択するには、 selectmodeを使用します。 複数として 。リストを繰り返し処理して、いくつかのボタンを使用して削除操作を実行できます。 例 #Import the required libraries from tkinter import * #Create an instance of tkinter frame or window win= Tk() #Set the geometry win.geometry