【问题标题】:TkInter button coordinates on a grid网格上的 TkInter 按钮坐标
【发布时间】:2016-06-17 02:38:26
【问题描述】:

我目前正在使用 TkInter 制作一个 GUI,该 GUI 由一个内置在 for 循环中的网格组成,所有按钮都有 1 个变量(每个循环都会更新)。 我想知道如何获得我按下的任何按钮的坐标。 (例如,当我按下时,按钮给出了它在网格上的坐标)我使用了 grid_info 但它只获取最后一个创建按钮的信息。 谢谢你帮助我:)

【问题讨论】:

    标签: python user-interface button tkinter grid


    【解决方案1】:

    您可以将行和列传递给与函数关联的命令。两种最常见的方法是使用 lambda 或 functools.partial。

    这是一个使用 lambda 的示例:

    import tkinter as tk
    
    def click(row, col):
        label.configure(text="you clicked row %s column %s" % (row, col))
    
    root = tk.Tk()
    for row in range(10):
        for col in range(10):
            button = tk.Button(root, text="%s,%s" % (row, col), 
                               command=lambda row=row, col=col: click(row, col))
            button.grid(row=row, column=col, sticky="nsew")
    label = tk.Label(root, text="")
    label.grid(row=10, column=0, columnspan=10, sticky="new")
    
    root.grid_rowconfigure(10, weight=1)
    root.grid_columnconfigure(10, weight=1)
    
    root.mainloop()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-28
      • 2020-03-11
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多