import tkinter as tk
class Calculator(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master.geometry("300x650")
self.master.title("GUI Calculator")
self.pack()
# CREATE BUTTONS IN A FOR LOOP.
btnclrs = ["Blue", "Red", "Green", "Red", "Green", "Blue", "Red", "Green", "Blue"]
self.btns = []
for i in range(9):
def callback(self=self, var=i+1):
self.text.insert(tk.END, var)
self.text.pack()
button = tk.Button(text=i+1, fg=btnclrs[i], bg="Black", command=callback)
button.pack()
self.btns.append(button)
self.text = tk.Text(self.master)
self.text.bind("<Key-Return>", self.multiplication) # DON'T CALL FUNCTION WHEN BINDING.
self.text.pack()
self.text.focus_set() # ADDED SO BOUND EVENT-HANDLERS WILL BE CALLED.
operations = ["+", "-", "*", "/"]
self.ops = []
for x in range(4):
self.text.insert(1.0, tk.END)
self.text.pack()
buttonz = tk.Button(text=operations[x], fg=btnclrs[i], bg="Black", command=)
buttonz.pack()
self.ops.append(buttonz)
self.output = tk.Text(self.master)
self.output.insert(1.0, "Output: \n")
self.output.pack()
self.master.mainloop()
def multiplication(self, event): # ADDED event ARGUMENT.
out = self.text.get('1.0', 'end')
a = int(out.split("*")[0])
b = int(out.split("*")[1])
self.output.delete(1.0, tk.END)
self.output.insert(1.0, a * b)
if __name__ == "__main__":
Calculator()
我已经成功地在tkinter屏幕上显示了操作按钮,现在我希望当我按下按钮时,它们实际显示在文本框中
例如,如果我按下乘法按钮“”,并且在文本框中,符号“”应该在文本框中
这是您的计算器代码,颜色稍加修改,加上小数点,等于字符和错误捕捉。我用计算函数代替了乘法函数,它执行所有常见的数学运算
redirect
连接您的按钮,您仍然可以使用返回键手动输入数学相关问题 更多 >
编程相关推荐