我正在研究"树视图"患者列表,我们可以在其中搜索患者并选择一个患者。我想右键单击选定的患者并打开一个新页面,其中包含患者的信息:
Site_id, PRP_Fabric, Phase12 {count}, Phase 13 {count}
6, BORDB, 3, 2
6, BORDG, 3, 0
6, BORDG CHP2, 3, 6
6, BORDO, 12, 0
我无法通过新窗口的打开来右键单击鼠标,我做了一些编码,但我不是100%理解它因此它不起作用...
对此主题的任何想法都会有所帮助和赞赏!
答案 0 :(得分:0)
首先绑定树上的右键,而不是在fram上绑定,即用self.frame.bind("<Button-3>", self.click)
替换self.tree.bind("<Button-3>", self.click)
。
然后,您需要知道用户点击的树视图中的哪个项目。为此,您可以使用self.tree.identify_row(event.y)
返回位置event.y
的项目ID。
并且,如果需要,您可以使用self.tree.item(<item>, 'values')
检索存储在树视图中的患者信息。
所以click
变为:
def click(self, event):
item = self.tree.identify_row(event.y)
if item: # right click on a patient
self.master.withdraw()
self.toplevel = tkinter.Toplevel(self.master)
self.toplevel.geometry("480x480")
info = self.tree.item(item, 'values')
print(info)
app = PatientPage(self.toplevel)