Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何加上「;等于;登录到tkinter计算器GUI?_Python_User Interface_Tkinter - Fatal编程技术网

Python 如何加上「;等于;登录到tkinter计算器GUI?

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

背景:我是一个新手,正在做一些项目来熟悉python

问题:我想在我用tkinter制作的计算器中添加一个“等于”的符号。我该怎么做

我的想法:我把我的尝试注释掉了。无论如何,是否要包含带有“and”的if语句,这样我就可以说if方法是add并等于then+

这是我的密码:

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中,“等于”符号是“==”,如果希望“大于”、“小于”等,则在第一个“=”上进行修改。
编辑:“=”是一个赋值,而“==”是一个比较

网上有大量的计算器教程和关于堆栈溢出的问题。你看过其中任何一本吗?