添加并从标签中的条目中获取浮点数

时间:2018-05-23 21:37:25

标签: python tkinter label tkinter-entry

我有一点菜鸟问题。

我想从3个条目中添加浮点数,因此总浮点数显示在标签中。

我的解决方案是这个,我无法让它工作,我做错了什么?

提前......

from tkinter import *

class App(Frame):
    def __init__(self, root=None):
        Frame.__init__(self, root)

        self.var = DoubleVar()
        self.var.set(float(0.00))
        self.var2 = DoubleVar()
        self.var2.set(float(0.00))
        self.var3 = DoubleVar()
        self.var3.set(float(0.00))

        self.entry1 = Entry(root, textvariable=self.var)
        self.entry1.grid(row=2, column=1)
        self.entry2 = Entry(root, textvariable=self.var2)
        self.entry2.grid(row=3, column=1)
        self.entry3 = Entry(root, textvariable=self.var3)
        self.entry3.grid(row=4, column=1)


        self.total = DoubleVar()
        self.total.set(float(0.00))

        self.totalSum = Label(root, textvariable=self.total, relief='sunken')
        self.totalSum.grid(row=5, column=1)


    def totalSum(self):
        self.total.set(self.var.get() + self.var2.get() + self.var3.get())



root = Tk()
app = App(root)
root.title("help")
root.mainloop()

1 个答案:

答案 0 :(得分:0)

永远不会调用totalSum方法。

我创建了一个调用方法并计算总和的按钮。

此外,我已经更改了方法名称,因为您已经有一个名为totalSum的标签。

需要在calculateTotalSum方法中调用方法__init__

这是工作代码:

from tkinter import *

class App(Frame):

    def __init__(self, root=None):
        Frame.__init__(self, root)

        self.var = DoubleVar()
        self.var.set(float(0.00))
        self.var2 = DoubleVar()
        self.var2.set(float(0.00))
        self.var3 = DoubleVar()
        self.var3.set(float(0.00))

        self.entry1 = Entry(root, textvariable=self.var)
        self.entry1.grid(row=2, column=1)
        self.entry2 = Entry(root, textvariable=self.var2)
        self.entry2.grid(row=3, column=1)
        self.entry3 = Entry(root, textvariable=self.var3)
        self.entry3.grid(row=4, column=1)


        self.total = DoubleVar()
        self.total.set(float(0.00))

        self.totalSum = Label(root, textvariable=self.total, relief='sunken')
        self.totalSum.grid(row=5, column=1)

        def calculateTotalSum():
            self.total.set(self.var.get() + self.var2.get() + self.var3.get())

        self.button = Button(root, text="Calculate", command=calculateTotalSum)
        self.button.grid(row=6, column=1)


root = Tk()
app = App(root)
root.title("help")
root.mainloop()