我是 Python 和 Tkinter 的新手。我正在關注Python MySQL。如何將欄位的 ID 從 ComboBox 傳遞到資料庫?作為按索引獲取值的指南。
我的代碼:
import tkinter as tk
from tkinter import ttk
# --- functions ---
def run_sql(event):
#print(event)
index = cb.current()
# print('index:', index)
row = c[index]
print('ID:', row[0])
print(data.set(row[0]))
print(cb.set(row[0]))
# --- main ---
c = [
(123, 'A'),
(124, 'B'),
(125, 'C'),
]
root = tk.Tk()
data = tk.StringVar()
cb = ttk.Combobox(root, textvariable=data,values=[row[1] for row in c], state='readonly')
cb.pack()
cb.bind("<<ComboboxSelected>>", run_sql)
root.mainloop()
輸出:
ID: 123
None
None
我正在尋找一種方法來獲得123每當我使用data.set(row[0])或cb.set(row[0])代替None.
我感謝您的幫助。
uj5u.com熱心網友回復:
您可以使用包裝函式
def data_set(value):
data.set(value)
return [row[1] for row in c if row[0] == value]
但這可能會回傳多個值。
更好的解決方案是:
def data_set(index):
data.set(c[index][0])
return c[index][1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/452615.html
