Добавить след в StringVar Combobox:
#tkinter setup
from tkinter import *
import tkinter.ttk as ttk
from tkinter import messagebox
bottomLeftTopR = Tk()
def combo_choose(value):
messagebox.showinfo("Choice", "You Chose " + value)
var1 = StringVar()
lblChooseaModel = Label(bottomLeftTopR, font = ('arial', 12, 'bold'),text = "Choose a model",
fg = "black", width = 13, bd = 14, anchor = 'w')
lblChooseaModel.grid(row = 0, column = 0)
cboChooseaModel = ttk.Combobox(bottomLeftTopR, textvariable = var1,
font = ('arial', 20, 'bold'), width = 12)
#models_query = cur.execute('SELECT name_of_model FROM models')
#data_models = ['']
#for row in models_query:
# data_models.append(row)
# Replaced query with data
data_models = [ ' ', ('Mazda 2'), ('Mazda 3'), ('Mazda 6'), ('Mazda CX 3'), ('Mazda CX 5') ]
cboChooseaModel['value'] = data_models
cboChooseaModel.current(0)
cboChooseaModel.grid(row = 1, column = 0)
var1.trace('w', lambda name, index, mode: combo_choose(var1.get()))
Вы можете делать все что угодно с выбранным значением в функции combo_choose. В этом коде список chosen
передается в функцию, а значение добавляется в список, затем список печатается.
#tkinter setup
from tkinter import *
import tkinter.ttk as ttk
from tkinter import messagebox
bottomLeftTopR = Tk()
def combo_choose(chosen, value):
chosen.append(value)
print("You've chosen ", *chosen)
print(chosen)
var1 = StringVar()
lblChooseaModel = Label(bottomLeftTopR, font = ('arial', 12, 'bold'),text = "Choose a model",
fg = "black", width = 13, bd = 14, anchor = 'w')
lblChooseaModel.grid(row = 0, column = 0)
cboChooseaModel = ttk.Combobox(bottomLeftTopR, textvariable = var1,
font = ('arial', 20, 'bold'), width = 12)
#models_query = cur.execute('SELECT name_of_model FROM models')
#data_models = ['']
#for row in models_query:
# data_models.append(row)
# Replaced query with data
data_models = [ ' ', ('Mazda 2'), ('Mazda 3'), ('Mazda 6'), ('Mazda CX 3'), ('Mazda CX 5') ]
cboChooseaModel['value'] = data_models
cboChooseaModel.current(0)
cboChooseaModel.grid(row = 1, column = 0)
chosen = []
var1.trace('w', lambda name, index, mode: combo_choose(chosen, var1.get()))