python -- 如何返回按钮位置 (x,y)

0 投票
1 回答
5164 浏览
提问于 2025-04-17 21:46

如何获取按钮的位置

import tkinter as tk
def do_popup():
    root.menu.post(??,??)
root = tk.Tk()
root.btn1 = tk.Button(root, text="POPUP", command=do_popup)
root.btn1.grid(row=1, column=1)
root.menu = tk.Menu(root, tearoff=0)
root.menu.add_command(label="a")
root.menu.add_command(label="b")
root.menu.add_command(label="c")

怎么获取弹出按钮的 x 和 y 坐标呢???

1 个回答

1

你需要的是Tkinter的winfo_rootx()winfo_rooty()这两个方法,它们可以返回相对于屏幕左上角的像素坐标。

def do_popup():
    x, y = root.btn1.winfo_rootx(), root.btn1.winfo_rooty()
    print (x, y)

更多信息请查看:http://effbot.org/tkinterbook/widget.htm#Tkinter.Widget.winfo_rootx-method

撰写回答