【发布时间】:2016-12-09 17:03:19
【问题描述】:
所以我目前正在制作一个 GUI 计算器,但不确定如何编写代码来执行计算器的操作。现在我已经设置了窗口、输入框和计算器按钮,但目前它们都没有真正做任何事情。
我只是对这些按钮在代码中的表示方式感到困惑,所以我不知道如何编写一个能够读取这些按钮输入并执行加法、减法等的代码块。
这是我目前的代码
class Calculator(Frame):
def __init__(self,master):
Frame.__init__(self,master)
self.grid()
self.dataEnt = Entry(self)
self.dataEnt.grid(row = 0, column = 1, columnspan = 4)
labels =[['AC','%','/'],
['7','8','9','*'],
['4','5','6','-'],
['1','2','3','+'],
['0','.','=']]
label = Button(self,relief = RAISED, padx = 10, text = labels[0][0]) #AC
label.grid(row = 1, column = 0, columnspan = 2)
label = Button(self,relief = RAISED, padx = 10, text = labels[0][1]) # %
label.grid(row = 1, column = 3)
label = Button(self,relief = RAISED, padx = 10, text = labels[0][2]) # /
label.grid(row = 1, column = 4)
for r in range(1,4):
for c in range(4):
#create label for row r and column c
label = Button(self,relief = RAISED,
padx = 10,
text = labels[r][c]) # 789* 456- 123+
# place label in row r and column c
label.grid(row = r+1, column = c+1)
label = Button(self,relief = RAISED, padx = 10, text = labels[4][0]) #0
label.grid(row = 5, column = 0, columnspan = 2)
label = Button(self,relief = RAISED, padx = 10, text = labels[4][1]) # .
label.grid(row = 5, column = 3)
label = Button(self,relief = RAISED, padx = 10, text = labels[4][2]) # =
label.grid(row = 5, column = 4)
def operations(self,num ):
def main():
root = Tk()
root.title('Calculator')
obj = Calculator(root)
root.mainloop()
and here is what the calculator looks like so far
我的猜测是,我需要以某种方式将输入读取为字符串,然后让 python 将该字符串评估为数学表达式,但我不知道该怎么做。
感谢您的帮助!
【问题讨论】:
标签: python user-interface tkinter calculator operator-keyword