Так что я сейчас в процессе создания графического пользовательского калькулятора, но не уверен, как писать код, который будет выполнять операции калькулятора. Сейчас у меня есть настройки окна, окна ввода и кнопок калькулятора, но ни один из них на самом деле ничего не делает на данный момент.Python Tkinter GUI Calculator
Я просто запутался о том, как эти кнопки представлены в коде и поэтому я не знаю, как написать блок кода, который будет в состоянии прочитать в этих входах кнопки и выполнять сложение, вычитание и т.д.
Вот мой код до сих пор
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
Я думаю, что мне нужно каким-то образом быть в состоянии прочитать входные данные как строки и затем питона оценить эту строку как математическое выражение, но я не уверен, что Чтобы обойти это.
Спасибо за помощь!
Это прекрасно, Тед. Я не ожидал простой копии и вставки. Спасибо, что рассказали об этом! – NuktukHotS