1. ホーム
  2. python

[解決済み] Tkinterでリストからドロップダウンメニューを作成するにはどうすればよいですか?

2022-03-03 08:59:47

質問

人物の情報を構築するGUIを作成しています。ユーザーが誕生月をドロップダウン・バーで選択できるようにしたいのですが、月がリスト形式で先に設定されています。

from tkinter import *

birth_month = [
    'Jan',
    'Feb',
    'March',
    'April'
    ]   #etc


def click():
    entered_text = entry.get()

Data = Tk()
Data.title('Data') #Title

label = Label(Data, text='Birth month select:')
label.grid(row=2, column=0, sticky=W) #Select title

月を表示するドロップダウンリストを作成するにはどうすればよいですか?

どのように解決するのですか?

ドロップダウンメニューを作成するには、次のようにします。 OptionMenu tkinterで

基本的な OptionMenu :

from Tkinter import *

master = Tk()

variable = StringVar(master)
variable.set("one") # default value

w = OptionMenu(master, variable, "one", "two", "three")
w.pack()

mainloop()

より詳細な情報(上記のスクリプトを含む)は、以下を参照してください。 こちら .


を作成する OptionMenu をリストから選択するのは、次のように簡単です。

from tkinter import *

OPTIONS = [
"Jan",
"Feb",
"Mar"
] #etc

master = Tk()

variable = StringVar(master)
variable.set(OPTIONS[0]) # default value

w = OptionMenu(master, variable, *OPTIONS)
w.pack()

mainloop()


ユーザーが選択した値を取得するために、単純に .get() を、ウィジェットに割り当てた変数に追加します。 variable :

from tkinter import *

OPTIONS = [
"Jan",
"Feb",
"Mar"
] #etc

master = Tk()

variable = StringVar(master)
variable.set(OPTIONS[0]) # default value

w = OptionMenu(master, variable, *OPTIONS)
w.pack()

def ok():
    print ("value is:" + variable.get())

button = Button(master, text="OK", command=ok)
button.pack()

mainloop()

ぜひとも一読をお勧めします。 このサイト を参考にしてください。