gpt4 book ai didi

python - 为什么具有相同 'text =' 值的两个输入框被视为同一个输入框?

转载 作者:行者123 更新时间:2023-12-04 08:10:18 25 4
gpt4 key购买 nike

我问过一个关于文本被插入到两个输入框时应该只插入一个的问题。问题的代码行原来是这些:

MoneyAvailableTextBox = Entry(temp, font=('arial', 14, 'bold'), bg='White', fg = 'Black', bd = 5, width = 10, borderwidth = 4,  justify = CENTER, text = '£')
MoneyAvailableTextBox.grid(row = 1, column = 0, pady = 10)

HeistAwardTextBox = Entry(temp, font=('arial', 14, 'bold'), bg='White', fg = 'Black', bd = 5, width = 10, borderwidth = 4, justify = CENTER, text = '£')
HeistAwardTextBox.grid(row = 3, column = 0, pady = 10)
我的一个 friend 最终弄清楚了问题所在,我回答了我自己的问题,以防其他人遇到这个问题。问题是两个输入框都有 text = '£' .我的 friend 只是将其中一个更改为值 $问题就解决了。删除它们也会阻止问题。他和我都不知道为什么必须输入相同的框 text = '£'使它们被视为相同的输入框。
我在下面复制了这个问题。我已经简化了代码。
import tkinter as tk
from tkinter import*

trialGUI = Tk()
trialGUI.title('Text Boxes')

#This is the text which will be inserted
value1 = 'Hello'
value2 = 'Bye'

#This inserts the text into the entry boxes
def updateStats():
entryBox1.delete('0', END)
#This should insert Hello in the first box
entryBox1.insert(tk.INSERT, value1)
entryBox2.delete('0', END)
#This should insert Bye in the second box
entryBox2.insert(tk.INSERT, value2)

# These are the text boxes
entryBox1 = Entry(trialGUI, text = '£')
entryBox1.grid(row = 0)
entryBox2 = Entry(trialGUI, text = '£')
entryBox2.grid(row = 1)

#Button which when pressed inserts texting into the entry boxes
Button1 = Button(trialGUI, command = updateStats, text = 'Insert Text')
Button1.grid(row = 2)

trialGUI.mainloop()
怎么说呢,这个问题已经解决了。我只是在寻找为什么首先会出现问题的解释。

最佳答案

text选项与 textvariable 相同Entry 的选项小部件。由于您传递了一个字符串 "£"到它但不是 StringVar 的实例, StringVar 的一个实例将使用字符串作为其名称为您隐式创建。所以两者Entry小部件使用相同的 StringVar .因此,更改其中一个也会更改另一个,因为它们共享相同的 StringVar .

关于python - 为什么具有相同 'text =' 值的两个输入框被视为同一个输入框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66007375/

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