python - Tkinter:如何访问每个字符的控制变量字符?
问题描述
你好_,我对 Python 很陌生,如果我的标题不是那么清楚,我发现 Tkinter 很抱歉,提前感谢。
我想要做的是在一个条目小部件中输入一些数字,然后根据公式将它们打印在另一个条目小部件中。但是我希望修改每个数字,例如,如果公式是 x 到 x**2,如果我输入 12,我期望 14 而不是 144。
我怎样才能写一个回调函数来实现呢?
我的代码显然返回数字 ** 2 而不是每个数字 ** 2 :
import tkinter
def CallBack(*args):
Entry_variable1.set(Entry_variable.get() ** 2)
Appli = tkinter.Tk()
Appli.title("x to x**2")
Entry_variable = tkinter.IntVar()
Entry_variable1 = tkinter.IntVar()
Entry_variable.trace("w", CallBack)
Entry = tkinter.Entry(Appli, textvariable=Entry_variable)
Entry1 = tkinter.Entry(Appli, textvariable=Entry_variable1)
Entry.pack()
Entry1.pack()
Appli.mainloop()
解决方案
好吧,如果你很难理解列表理解,你可以使用一个简单的 for 循环来迭代stringvar()
.
def CallBack(*args):
Entry_variable1.set("") # reset the second value in the input,And both of variable is Stringvar()
for i in Entry_variable.get(): # use for loop through it.
Entry_variable1.set(Entry_variable1.get()+str(int(i)**2)) # each of them **2 and add it to the variable.
推荐阅读
- ocaml - 如何使用 Janestreet Core 定义自定义异常打印机?
- excel - 将两个长项目列表与每个项目的各种资源进行比较
- javascript - 保持列表项突出显示,react.js
- kotlin - 运算符“==”不能应用于“布尔”和“字符”
- python - 按另一个排序一个numpy数组
- php - 为什么ajax没有将输入字段值传递给php解析器?
- gcc - 您如何解释 gcc 对 i386 的 IN、OUT 指令的内联汇编约束?
- java - 我怎样才能制作一个固定墙壁的阵列
- reactjs - 在 React 应用程序中嵌入 Typeform
- r - 尝试使用 rvest 提取 r 包的链接