如何在 tkinter 中创建与列表框链接的弹出菜单?

how to create a pop up menu which is linked with listbox in tkinter?

我正在尝试创建一个列表框,在其中按 'Enter key' 又名 <Return>
在所选行的前面弹出一个菜单,例如 this

我尝试使用 示例,但菜单似乎只在鼠标所在的位置弹出

我问的是什至可以做的吗?如果是这样,如何获取列表框中任意行的 x、y 位置?

遗憾的是,我什至无法提供伪代码来进一步解释,因为我什至不知道它会是什么样子,所以请原谅我不够清晰

列表框的 curselection 方法将 return 选定项目的列表。列表框的 bbox 方法将给出项目相对于列表框本身的坐标。您可以使用 winfo_rootxwinfo_rooty 来获取列表框在屏幕上的绝对坐标。您可以使用所有这些信息将菜单放在所选项目附近。

例如:

def show_popup(event):
    selection = event.widget.curselection()
    if selection:
        item = selection[0]
        rootx = event.widget.winfo_rootx()
        rooty = event.widget.winfo_rooty()
        itemx, itemy, itemwidth, itemheight = event.widget.bbox(item)
        popup_menu.tk_popup(rootx+event.widget.winfo_width()-10, rooty+itemy+10)