选择组合框时,使用SQLite数据自动填充Tkinter文本框

时间:2019-08-28 23:39:44

标签: python sqlite tkinter combobox

我有一个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

0 个答案:

没有答案