我想限制可以触发弹出菜单的区域
我的当前代码允许用户右键单击tkinter窗口中的任意位置触发弹出菜单
from tkinter import *
root = Tk()
w = Label(root, text="Right-click to display menu", width=40, height=20)
w.pack()
popup = Menu(root, tearoff=0)
popup.add_command(label="Next") # , command=next) etc...
popup.add_command(label="Previous")
popup.add_separator()
popup.add_command(label="Home")
def do_popup(event):
try:
popup.tk_popup(event.x_root, event.y_root, 0)
finally:
popup.grab_release()
w.bind("<Button-3>", do_popup)
b = Button(root, text="Quit", command=root.destroy)
b.pack()
mainloop()
我想弹出菜单被触发时,用户右击标签“右击显示菜单”只
您的代码完全按照设计工作。您已经创建了一个非常巨大的标签小部件(40个字符宽,20个字符高,或者大约350x325像素,这取决于您的系统字体和分辨率设置)。所以,当你认为你点击了标签外,你没有,因为它占据了整个窗口。你知道吗
要明白我的意思,给你的标签一个独特的背景色。例如:
上面的结果显示一个窗口,如下图所示。任何你点击的粉红色的地方都是标签的一部分,因此会显示菜单。你知道吗
相关问题 更多 >
编程相关推荐