我正在制作一个医学工具的图形用户界面作为一个类项目。给定一个条件,它应该输出一堆从不同网站收集的治疗方案,比如webMD。我希望能够处理所列出的任何一种疗法的鼠标悬停事件,以提供关于该疗法的更多信息(例如药物的类别,是否为普通药物,等等)。在
标签存储在一个列表中,因为我不知道有多少不同的处理将被退回。所以我的问题是如何让这些mouseover事件起作用。我不能为每一个可能的标签都写一个函数定义,它们的数量可能是成百上千。我肯定有一个非常Python式的方法来做,但我不知道是什么。在
以下是我创建标签的代码:def search_click():
"""
Builds the search results after the search button has been clicked
"""
self.output_frame.destroy() # Delete old results
build_output() # Rebuild output frames
treament_list = mockUpScript.queryConditions(self.condition_entry.get()) # Get treatment data
labels = []
frames = [self.onceFrame, self.twiceFrame, self.threeFrame, self.fourFrame] # holds the list of frames
for treament in treament_list: # For each treatment in the list
label = ttk.Label(frames[treament[1] - 1], text=treament[0]) # Build the label for treatment
labels.append(label) # Add the treatment to the list
label.pack()
下面是GUI的样子(不要判断[-;)
文本“悬停在药物上获取信息”应该根据鼠标悬停在哪种药物上而改变。在