【发布时间】:2021-06-07 10:16:43
【问题描述】:
我正在编写一个新代码来使用循环在按钮上显示 sqlite 搜索结果。除 1 个问题外,代码正常工作。我编写了一个函数来更改背景颜色并在将鼠标悬停在按钮上时播放声音。问题是,当我将鼠标悬停在结果的任何按钮上时,颜色只会在最后一个按钮上发生变化,尽管声音播放没有问题。以下是涉及的部分代码:
SearchSelection = SearchVar.get()
SearchParameter = txtSearch.get()
conn = sqlite3.connect("EasyClinic.db")
cursor = conn.cursor()
cursor.execute ("SELECT * FROM patients WHERE (%s) = (?)" %(SearchSelection),
(SearchParameter,))
results = cursor.fetchall()
conn.commit()
conn.close()
if len(results) == 0:
print ("No result found")
else:
for result in results:
ResultsButtons = tk.Button(canvasResult, text=result, bg=BackGroundColor, fg=ForeGroundColor, relief='flat', font=MyFont2, width=65, height=2)
ResultsButtons.pack(pady=5)
def on_enter_results(result):
ResultsButtons['background'] = Hover
winsound.PlaySound ('Hover.wav', winsound.SND_ASYNC)
def on_leave_results(result):
ResultsButtons['background'] = BackGroundColor
ResultsButtons.bind("<Enter>", on_enter_results)
ResultsButtons.bind("<Leave>", on_leave_results)
请为您提供帮助 谢谢
【问题讨论】: