web-dev-qa-db-ja.com

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

個人に関する情報を作成する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

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

16
user7437114

「ドロップダウンメニュー」を作成するには、tkinterでOptionMenuを使用できます。

基本的なOptionMenuの例:

from Tkinter import *

master = Tk()

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

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

mainloop()

詳細情報(上記のスクリプトを含む)は here にあります。


リストから月の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()

上記の例はそのサイトから変更されているため、さらに基本的なtkinter情報については このサイト を読むことを強くお勧めします。

33
Ethan Field