我的代码有一个小问题。我的界面上需要一个弹出菜单,不是在按下鼠标右键时弹出,而是在单击按钮(tkinter 小部件)时弹出。
一个例子是这样的:http://effbot.org/zone/tkinter-popup-menu.htm
但是,我想在与按钮相同的坐标处创建弹出菜单,而不是事件坐标。
self.popup_menu.tk_popup(x_button, y_button, 0)
问题是,当我移动界面窗口或滚动滚动条(我的界面中有一个)并再次单击按钮时,弹出菜单的创建位置不是按钮所在的确切位置。看来 .tk_popup 仅采用窗口坐标而不是画布坐标。
有人知道解决方案吗?
编辑:这是一个例子:
from Tkinter import *
root = Tk()
popup = Menu(root, tearoff=0)
popup.add_command(label="Main Product")
popup.add_command(label="Side Product")
def popupm(x, y):
try:
popup.tk_popup(x, y, 0)
finally:
popup.grab_release()
x = 10
y = 15
bt = Button(root, text='Menu', command= lambda: popupm(x , y))
bt.place(x = 10, y = 15)
root.mainloop()
问候!
梵蒂冈之花
慕斯王
相关分类