我试图制作一个以下程序:当打开程序时,它显示一个条目和一个标记为“9”的按钮。单击按钮“9”时,将在条目末尾添加字符“9”。在
下面给出的代码是我写的,但它没有按我的意图工作。按钮不起作用,条目显示“09”而不是“0”。在
# -*- coding : utf-8 -*-
import Tkinter as Tk
class calculator:
def __init__(self, master):
self.num = Tk.StringVar()
self.opstate = None
self.tempvar = 0
# entry
self.entry = Tk.Entry(root, textvariable = self.num, justify=Tk.RIGHT, width = 27)
self.entry.pack(side = Tk.TOP)
self.num.set("0")
# Buttons
self.numbuts = Tk.Frame(master)
self.ins9 = Tk.Button(self.numbuts, text = "9", width = 3, command = self.fins(9))
self.ins9.pack()
self.numbuts.pack(side = Tk.LEFT)
##### Functions for Buttons #####
def fins(self, x):
self.entry.insert(Tk.END, str(x))
root = Tk.Tk()
calc = calculator(root)
root.mainloop()
我想command = self.fins(9)
部分有问题,但我不知道如何解决它。谢谢你的帮助。在
代码传递的是方法调用的返回值,而不是方法本身。在
使用如下方法传递回调函数:
相关问题 更多 >
编程相关推荐