我有一个sqlite表(称为“汽车”),第一列代表“汽车类型”,第二列代表“汽车颜色”。
我想设置一个简单的基于ttk的GUI,并带有一个组合框,该组合框由“汽车类型”列中的值自动填充。在组合框中选择汽车类型时,我希望关联的“汽车颜色”自动填充GUI底部的文本框。
到目前为止,我已经创建了可以用“汽车类型”数据自动填充组合框的工作代码。但是,经过无休止的互联网搜索之后,我对如何基于组合框选择如何用sqlite数据以及相关数据自动填充文本框字段感到困惑。
import sqlite3
from tkinter import ttk
from tkinter import *
from tkinter.ttk import *
#create Window
window = Tk()
window.title("Example")
window.geometry("400x400")
#Create Frame
frame_1 = LabelFrame(window, text="Car Type")
frame_1.grid(row=0, column=0)
# Identify Car Table in SQLite & Create Combobox
def car_type_SQLite_selection():
conn = sqlite3.connect('Car_Database.db')
cur = conn.cursor()
query = cur.execute('SELECT Type FROM Cars')
data = []
for row in cur.fetchall():
data.append(row[0])
return data
cur.close()
conn.close(row=1, column=0)
car_type_box = Combobox(frame_1)
car_type_box.grid(row=0, column=0)
car_type_box['values'] = car_type_SQLite_selection()
car_color_text = Text(frame_1, height=3, width=50)
car_color_text.grid(row=0, column=1, columnspan=2, sticky=W)
car_color_text.insert(END, "Colour output")
# Keeps Window open
window.mainloop() #keeps the winow open indefinitley until closed