gpt4 book ai didi

python - 如何在 TkInter (Python) 中的小部件之间传输数据

转载 作者:行者123 更新时间:2023-11-28 19:26:42 25 4
gpt4 key购买 nike

我正在制作一个带有 GUI 的程序。单击按钮后,我希望在 Entry 小部件中输入的文本显示在 Label 小部件中。到目前为止,按下按钮后唯一出现的是:

(PY_VAR0 + PY_VAR1)^PYVAR2

这是整个程序的代码,我使用类作为框架布局。如果需要,也可以提供此代码,但我假设它不相关。

import math
from tkinter import *

app = Tk()

a_input = ParamIn(app, "Please enter A:")
a_input.pack()

b_input = ParamIn(app, "Please enter B:")
b_input.pack()

n_input = ParamIn(app, "Please enter n:")
n_input.pack()

int1 = IntVar()
int2 = IntVar()
int3 = IntVar()

form = StringVar()
form.set('(%s + %s)^%s' % (int1, int2, int3))

def update_form():
number1 = a_input.number.get()
number2 = b_input.number.get()
number3 = n_input.number.get()
int1.set(number1)
int2.set(number2)
int3.set(number3)
a_input.number.delete(0, END)
b_input.number.delete(0, END)
n_input.number.delete(0, END)

Button(app, text = "Contine", command = update_form).pack(pady = 10)

Label(app, relief = SUNKEN, textvariable = form).pack(padx = 10, pady = 5, side = "bottom")

app.mainloop()

我不确定为什么主循环之前程序末尾的标签没有更新,因为我觉得我的逻辑是正确的。我是编程新手,所以这可能只是一个愚蠢的错误。

最佳答案

每次要更改标签时都需要调用 form.set(...)。它不会因为您更改用于定义其初始值的变量而自动更改。

关于python - 如何在 TkInter (Python) 中的小部件之间传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9286104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com