【发布时间】:2021-06-27 15:01:25
【问题描述】:
import tkinter as tk
from tkinter import ttk
win=tk.Tk()
def get_event(event):
print(f"{event.x} {event.y}")
win.bind("<Button-3>",get_event)
win.mainloop()
我在 tkinter 中制作右键菜单,但是当我编写 event.x 和 event.y 时:
import tkinter as tk
from tkinter import ttk
win=tk.Tk()
menu=tk.Menu(win,tearoff=False)
menu.add_command(label="Nothing...")
def popup(event):
menu.tk_popup(event.x,event.y)
win.bind("<Button-3>",popup)
win.mainloop()
菜单溢出窗口 但是当我在 menu.tk_popup 中写 event.x_root 和 event.y_root 时,它没有
【问题讨论】:
-
event.x_root是鼠标在屏幕上的绝对位置。event.x是鼠标相对于小部件的位置。因此,当您单击小部件的最左侧时,event.x将为 0。当您单击屏幕的最左侧时(假设它触发了一个事件),event.x_root将为 0。 -
区别在Events and Bindings的事件对象部分描述。
-
非常感谢
标签: python user-interface tkinter menu