如何使用 tkinter 模块制作一个按钮来执行和显示使用在 Python 中"Entry"输入的变量的计算?



我希望能够在单击按钮SOLVEx + y执行计算。

按照我的做法,我仍然必须在控制台而不是在输入块中输入xy的值,单击SOLVE按钮后,它会返回:

"类型错误: + 不支持的操作数类型:"无类型"和"无类型">

法典:

import tkinter
from tkinter import *
window = tkinter.Tk()
window.title("SOLVE MATH")
def solve_now():
x= tkinter.Label(window, text="X").pack()
X = tkinter.Entry(window, text=int(input("Enter X value: 
"))).pack()
y = tkinter.Label(window, text="Y").pack()
Y = tkinter.Entry(window, text=int(input("Enter Y value: 
"))).pack()
ans = X + Y
tkinter.Label(window, text=ans).pack()
tkinter.Button(window, text="SOLVE", 
command=solve_now).pack()

window.mainloop()

这如何获取tkinter entry中的值以对其进行计算。为了实现这一点,您必须创建entry widget然后使用get函数检索条目中的值以进行计算。在此处阅读有关条目小部件的更多信息 条目小部件

使用input可让您在控制台中键入您的值。您之所以Nonetype error,是因为您必须将几何管理器pack放置在entry widget函数之后的下一行。

entry1 = Entry(window )
entry1.pack()

完整代码

import tkinter
from tkinter import *

def solve_now():
ans = float(float(entry1.get()) + float(entry2.get()))
print(ans)
l3.config(text="Answer : "+str(ans))

window = tkinter.Tk()
window.title("SOLVE MATH")
l1 = Label(window, text="Enter Value X")
l1.pack()
entry1 = Entry(window, )
entry1.pack()

l2 = Label(window, text="Enter value Y")
l2.pack()
entry2 = Entry(window)
entry2.pack()
b1 = Button(window, text="SOLVE",
command=solve_now)
b1.pack()

l3 = Label(window)
l3.pack()
window.mainloop()

最新更新