【Python GUI tkinterサンプル】ttk.Comboboxの値を取得しコンソールに出力する

使用するオプション

  • textvariable

使い方

#選択肢リスト
valuelist=["ぶどう","バナナ","もも","いちご"]
#Widget変数
variable=StringVar()
ttk.Combobox(values=valuelist,textvariable=variable)

ttk.ComboboxのtextvariableオプションにWidget変数を設定することで選択された値を取得することが可能になる

値を取得するときは下記のようにWidget変数から取得するか、Widgetから経由して取得する。

#選択肢リスト
valuelist=["ぶどう","バナナ","もも","いちご"]
#Widget変数
variable=StringVar()
combo=ttk.Combobox(values=valuelist,textvariable=variable)
#値の取得
variable.get()
combo.get()

 

サンプル画像

サンプルコード実行

combobox_textvariables0

選択肢から1つ選択

combobox_textvariables1

printを押下しコンソールを確認

combobox_textvariables2

 

サンプルコード

from tkinter import *
import tkinter.ttk as ttk

class ComboboxSampleVariableOption(ttk.Frame):
    def __init__(self, master):
        super().__init__(master)
        self.variable = StringVar()
        self.create_widgets()
        self.pack()

    def create_widgets(self):
        valuelist=["ぶどう","バナナ","もも","いちご"]
        self.combo = ttk.Combobox(self,values=valuelist,textvariable=self.variable)
        self.combo.pack()
        button = ttk.Button(self,text="print",command= self.printValue)
        button.pack()
    def printValue(self):
        print(self.variable.get())
        print(self.combo.get())


if __name__ == '__main__':
    master = Tk()
    master.title("ComboboxSampleVariableOption")
    master.geometry("350x200")
    ComboboxSampleVariableOption(master)
    master.mainloop()

 

あわせて読みたい