我正在用Tkinter在Python 2.7.3中製作圖形計算器。我已經設置好了,所以當用戶按下'b'按鈕時,它會將'b'打印到控制檯。我通過創建一個函數來傳遞一個名爲'key'的變量,然後將它添加到標籤中。但是,當我第一次啓動程序時,它會自動調用該函數並將「b」打印到控制檯。每當我點擊按鈕,它什麼都不做。這裏是我的代碼:Tkinter中的Python計算器 - 函數自動運行
from Tkinter import *
class Application(Frame):
def addkey(self,key):
print str(key)
def removekey(self):
if len(self.displaytext) > 0:
self.displaytext = self.displaytext[0:-1]
def createWidgets(self):
self.maxlength = 20
self.displaytext = ""
self.frame1 = Frame(self)
self.display = Label(self.frame1,textvariable=self.displaytext,width=self.maxlength+3,bg="black",fg="white",height=2)
self.frame1.pack()
self.display.pack()
self.frame2 = Frame(self)
self.bksp = Button(self.frame2,text="b",width=4,height=2,command=self.addkey("b"))
self.frame2.pack()
self.bksp.pack()
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
app = Application()
app.mainloop()
try:
root.destroy()
except:
pass
它看起來像人們喜歡重複這個問題,其他人喜歡重複的答案:/ – mmgp
@mmgp - 我相信我已經回答了好幾次。但是,提出搜索條件會讓你得到一個適當的已經回答的問題是相當困難的。有時候,回答這個問題要比尋找重複更容易 - 這就是說,如果您發現重複的投票結束或發佈鏈接,我會很樂意投票結束這個問題:)。 – mgilson