Python TKinter记录GUI按钮按下?

时间:2014-02-05 03:33:58

标签: python user-interface

我一直在摆弄这段代码,试图找出如何在将按钮放入GUI并按下墙壁后注册按钮。我只是想在按下按钮时输出相应的数字。

这是我到目前为止所做的:

from tkinter import *

def click(self, key):
    self.entry.insert(END, key)

root = Tk()
labels = [['1','2','3'], ['4','5','6'], ['7','8','9'], ['*','0','#']]

for r in range(4):
    for c in range(3):

        def cmd(x = labels[r][c]):
            self.click(key)

        button = Button(root,
                        relief=RAISED,
                        padx=10,
                        text=labels[r][c],
                        command = cmd)
        button.grid(row=r+1, column=c)

获取关于没有定义全局“self”的错误。可能是一个简单的错误,但我已经尝试了我能想到的一切。

1 个答案:

答案 0 :(得分:0)

您正在尝试运行单击等以 self 为参数的功能。使用

self.click

您指的是在调用这些方法之前应该创建的对象。您需要删除 self ,或者在理想的世界中创建所需的类,然后使用self。