Tkinter - 无法理解为什么在两个输入框中同时输入数据。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tkinter - 无法理解为什么在两个输入框中同时输入数据。相关的知识,希望对你有一定的参考价值。
我是Tkinter的新手,目前正在写一段代码,要在第三个文本框中显示2个数字的总和,但当我在文本框1中输入整数值时,它同时在文本框2中也输入了相同的值。但是当我在文本框1中输入一个整数值时,它同时在文本框2中也输入了同样的值。很明显,这两个数值都被存储在同一个变量中。代码在这里。
def showSum(fnum,lnum):
try:
some_var = int(fnum)
except ValueError:
print("Error. Not an integer number!")
try:
some_var = int(lnum)
except ValueError:
print("Error. Not an integer number!")
sum = fnum+lnum
sum_label['text'] = str(sum)
FirstNumLabel = Label(tkWindow, text="Enter Num 1: ").grid(row=0, column=0)
FirstNum = 0
FirstNumEntry = Entry(tkWindow, textvariable=FirstNum).grid(row=0, column=1)
LastNumLabel = Label(tkWindow, text="Enter Num 2: ").grid(row=1, column=0)
LastNum = 0
LastNumEntry = Entry(tkWindow, textvariable=LastNum).grid(row=1, column=1)
showSum = partial(showSum, FirstNum, LastNum)
showButton = Button(tkWindow, text="Show", command=showSum).grid(row=3, column=1)
所以当我输入第一个数字时,它也会自动在第二个数字文本框中输入相同的数字。反之亦然。
此外,和函数显示0为上述整数的和。
我尝试在谷歌上搜索,但没有找到任何解决方案。如果有任何帮助,我将感激不尽。
答案
该 textvariable
选项必须使用一个特殊的 tkinter 变量 StringVar
, IntVar
, BooleanVar
或 DoubleVar
. StingVar
是目前最常见的。
因为您使用的是一个整数,所以两个入口部件都有它们的 textvariable
设为 0
. 这将创建一个名为 0
每当小组件的值发生变化时就会更新。由于它们共享相同的内部变量,所以它们都共享相同的值。
以上是关于Tkinter - 无法理解为什么在两个输入框中同时输入数据。的主要内容,如果未能解决你的问题,请参考以下文章