Когда я нажимаю цифровые кнопки, вывод появляется слева от предыдущего номера. Как изменить код, чтобы все выходы go слева направо? - PullRequest
0 голосов
/ 29 апреля 2020

Поэтому, когда я запустился, я попытался ввести '2 + 1 ==', однако цифры не перемещаются соответствующим образом. В аргументах лямбда-функций вставки есть некоторая проблема, однако я не знаю, как это решить.

Изображение вывода

Код, показанный ниже: # Простой Приложение Calculator: импорт tkinter as tk # Импортирует все, что связано с Tkinter.

root = tk.Tk() #Creates a Tk Window.

#Clears from first character to end:
clearBoxes = lambda: resultScreen.delete("1.0","end")

#Closes the app:
quitApp = lambda: root.destroy()

#Adds each number to the screen, using lambda for efficiency:
addOne = lambda: resultScreen.insert(1.0, "1") 
addTwo = lambda: resultScreen.insert(1.0,"2")
addThree = lambda: resultScreen.insert(1.0,"3")
addFour = lambda: resultScreen.insert(1.0,"4")
addFive = lambda: resultScreen.insert(1.0,"5")
addSix = lambda: resultScreen.insert(1.0,"6")
addSeven = lambda: resultScreen.insert(1.0,"7")
addEight = lambda: resultScreen.insert(1.0,"8")
addNine = lambda: resultScreen.insert(1.0,"9")
addZero = lambda: resultScreen.insert(1.0,"0")

#Adds the decimal point:
addDecimalPoint = lambda: resultScreen.insert(1.0,".")

#Adds the operations:
divide = lambda: resultScreen.insert(2.0,"/") 
multiply = lambda: resultScreen.insert(2.0,"*") 
minus = lambda: resultScreen.insert(2.0,"-") 
add = lambda: resultScreen.insert(2.0,"+")

#Add = sign:
equals = lambda: resultScreen.insert(3.0,"==")

#Creates a label at top of page. .pack() organises widgets:
w = tk.Label(root, text="Calculator").grid(row=0,column=2) 

#Creates the 'screen' box:
resultScreen = tk.Text(root,width=10,height=1)
resultScreen.grid(row=1,column=2)

#Creates the numbers as buttons:
one = tk.Button(text="1",command=addOne)
one.grid(row=2,column=1)
two = tk.Button(text="2",command=addTwo)
two.grid(row=2,column=2)
three = tk.Button(text="3",command=addThree)
three.grid(row=2,column=3)
four = tk.Button(text="4",command=addFour)
four.grid(row=3,column=1)
five = tk.Button(text="5",command=addFive)
five.grid(row=3,column=2)
six = tk.Button(text="6",command=addSix)
six.grid(row=3,column=3)
seven = tk.Button(text="7",command=addSeven)
seven.grid(row=4,column=1)
eight = tk.Button(text="8",command=addEight)
eight.grid(row=4,column=2)
nine = tk.Button(text="9",command=addNine)
nine.grid(row=4,column=3)
zero = tk.Button(text="0",command=addZero)
zero.grid(row=5,column=2)

#Equals and decimal point:
equals = tk.Button(text="=",command=equals)
equals.grid(row=5,column=1)
decimalPoint = tk.Button(text=".").grid(row=5,column=3)

#Operation buttons:
divide = tk.Button(text="/",command=divide)
divide.grid(row=2,column=4)
multiply = tk.Button(text="*",command=multiply)
multiply.grid(row=3,column=4)
minus = tk.Button(text="-",command=minus)
minus.grid(row=4,column=4)
add = tk.Button(text="+",command=add)
add.grid(row=5,column=4)

#Clear button:
clear = tk.Button(text="CLEAR",command=clearBoxes).grid(row=6,column=2)

#Leave button:
leave = tk.Button(text="QUIT",command=quitApp).grid(row=6,column=3)

root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...