Python 如何加上「;等于;登录到tkinter计算器GUI?
背景:我是一个新手,正在做一些项目来熟悉python 问题:我想在我用tkinter制作的计算器中添加一个“等于”的符号。我该怎么做 我的想法:我把我的尝试注释掉了。无论如何,是否要包含带有“and”的if语句,这样我就可以说if方法是add并等于then+ 这是我的密码:Python 如何加上「;等于;登录到tkinter计算器GUI?,python,user-interface,tkinter,Python,User Interface,Tkinter,背景:我是一个新手,正在做一些项目来熟悉python 问题:我想在我用tkinter制作的计算器中添加一个“等于”的符号。我该怎么做 我的想法:我把我的尝试注释掉了。无论如何,是否要包含带有“and”的if语句,这样我就可以说if方法是add并等于then+ 这是我的密码: from tkinter import Tk, Label, Button, IntVar, Entry, END, W, E class Calculator: def __init__(sel
from tkinter import Tk, Label, Button, IntVar, Entry, END, W, E
class Calculator:
def __init__(self, master):
self.total = 0
self.entered_number = 0
self.title_label = Label(master, text="Calculator")
self.total_label_text = IntVar()
self.total_label_text.set(self.total)
self.total_label = Label(master, textvariable=self.total_label_text)
self.label = Label(master, text="Total:")
vcmd = master.register(self.validate)
self.entry = Entry(master, validate="key", validatecommand=(vcmd, "%P"))
self.addition_button = Button(
master, text="Add", command=lambda: self.update("add")
)
self.subtract_button = Button(
master, text="Minus", command=lambda: self.update("minus")
)
self.equalto_button = Button(
master, text="Equals", command=lambda: self.update("equalto")
)
self.reset_button = Button(
master, text="Reset", command=lambda: self.update("reset")
)
self.close_button = Button(master, text="Close", command=master.quit, bg="red")
# LAYOUT
self.label.grid(row=1, column=1, sticky=W)
self.total_label.grid(row=1, column=0, columnspan=2, sticky=E)
self.entry.grid(row=2, column=0, columnspan=2, sticky=W + E)
self.addition_button.grid(row=3, column=0)
self.subtract_button.grid(row=3, column=1)
self.equalto_button.grid(row=3, column=2)
self.reset_button.grid(row=4, column=0, sticky=W + E)
self.close_button.grid(row=4, column=1)
def validate(self, new_text):
if not new_text:
self.entered_number = 0
return True
try:
self.entered_number = int(new_text)
return True
except ValueError:
return False
def update(self, method):
if method == "add":
self.total += self.entered_number
elif method == "minus":
self.total -= self.entered_number
# elif method == "equalto":
# self.total += self.entered_number
else:
self.total = 0
self.total_label_text.set(self.total)
self.entry.delete(0, END)
root = Tk()
my_gui = Calculator(root)
root.mainloop()
在Python中,“等于”符号是“==”,如果希望“大于”、“小于”等,则在第一个“=”上进行修改。
编辑:“=”是一个赋值,而“==”是一个比较 网上有大量的计算器教程和关于堆栈溢出的问题。你看过其中任何一本吗?