如何将计算表单按钮命令传递到输入字段?

2024-04-19 22:59:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个python脚本mainapp.py和calculations.py

  1. mainapp.py
from tkinter import *
import calculations

root = Tk()

mainapp = Frame(root)
mainapp.grid()

label1 = Label(mainapp, text="Value A")
label1.grid(row=0, column=0)
value_a = IntVar()
entry1 = Entry(mainapp, textvariable=value_a)
entry1.grid(row=0, column=1)

label2 = Label(mainapp, text="Value B")
label2.grid(row=1, column=0)
value_b = IntVar()
entry2 = Entry(mainapp, textvariable=value_b)
entry2.grid(row=1, column=1)

button = Button(mainapp, text="Calculate",
                command=calculations.addvalues(a=value_a.get(), b=value_b.get()))
button.grid(row=2, columnspan=2)

label3 = Label(mainapp, text="A+B")
label3.grid(row=3, column=0)
value_c = IntVar()
entry3 = Entry(mainapp, textvariable=value_c)
entry3.grid(row=3, column=1)

root.mainloop()
  1. 计算。py

def addvalues(a, b): return a + b

我想将按钮命令计算传递到entry3字段。怎么做

提前谢谢你的帮助


Tags: textpyimportvaluecolumnrootlabelgrid
1条回答
网友
1楼 · 发布于 2024-04-19 22:59:00

你做得很好,非常接近。通常最好使用一个简单的函数(请参见我的示例中的foo())来操作输入框等

entry3.delete(0,END)将确保该条目是清晰的(请在不使用此行的情况下尝试,看看会发生什么!)

from tkinter import *
import calculations


def foo():
    x = addvalues(a=value_a.get(), b=value_b.get())
    entry3.delete(0, END)
    entry3.insert(END, x)


root = Tk()

mainapp = Frame(root)
mainapp.grid()

label1 = Label(mainapp, text="Value A")
label1.grid(row=0, column=0)
value_a = IntVar()
entry1 = Entry(mainapp, textvariable=value_a)
entry1.grid(row=0, column=1)

label2 = Label(mainapp, text="Value B")
label2.grid(row=1, column=0)
value_b = IntVar()
entry2 = Entry(mainapp, textvariable=value_b)
entry2.grid(row=1, column=1)

button = Button(mainapp, text="Calculate",
                command=foo)
button.grid(row=2, columnspan=2)

label3 = Label(mainapp, text="A+B")
label3.grid(row=3, column=0)
value_c = IntVar()
entry3 = Entry(mainapp, textvariable=value_c)
entry3.grid(row=3, column=1)

root.mainloop()

相关问题 更多 >