首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我向单个ttk.entry输入文本时,数组中的每个其他ttk.entry都会更改为相同的值。我做错了什么?

当你向单个 ttk.entry 输入文本时,数组中的每个其他 ttk.entry 都会更改为相同的值,这可能是因为你在创建 ttk.entry 时,将它们都绑定到了同一个变量上。

在 Tkinter 中,ttk.entry 是一种用于接收用户输入的小部件。当你创建多个 ttk.entry 时,每个 ttk.entry 都应该绑定到不同的变量上,以便它们可以独立地存储和显示不同的值。

解决这个问题的方法是为每个 ttk.entry 创建一个独立的变量,并将其绑定到相应的 ttk.entry 上。这样,当你向其中一个 ttk.entry 输入文本时,只会更改绑定的变量的值,而不会影响其他 ttk.entry。

以下是一个示例代码,展示了如何正确创建和绑定多个 ttk.entry:

代码语言:txt
复制
import tkinter as tk
from tkinter import ttk

root = tk.Tk()

# 创建多个 ttk.entry,并为每个 ttk.entry 创建独立的变量
entry_vars = []
for i in range(5):
    var = tk.StringVar()
    entry_vars.append(var)
    ttk.Entry(root, textvariable=var).pack()

root.mainloop()

在这个示例中,我们使用了一个列表 entry_vars 来存储每个 ttk.entry 的变量。这样,你就可以通过访问 entry_vars 列表中的不同元素来获取和设置每个 ttk.entry 的值。

希望这个解答对你有帮助!如果你对其他问题有疑问,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python的门面担当

Python 有很多可实现 GUI 的库,在之前的文章中有过一个整理:如何用 GUI 提高 python 程序的颜值? 但没有针对某个具体的库做介绍。...Python 的内置编辑器 IDLE 就是使用 Tkinter 开发的。因此,我个人在之前的开发中,是将 Tkinter 作为首选。...1.创建一个 Tk 窗口对象;2.调用这个对象的消息主循环。一个窗口就出现了。在这个窗口之上,可以添加各种输入框、按钮、文本等,可以增加对各种动作的处理。...看起来是静止的,但程序实际上是在等待你的操作:通过与窗口中的“控件”进行交互,比如点击按钮、输入文字、勾选选项等,产生不同的“事件”,程序再根据预设的“响应”做处理。...比如输入框、文本框、按钮、下拉菜单、滚动条等等,窗体本身也可以认为是一个控件。一个控件包含了数据和操作,决定了页面上的元素放在哪里、长什么样、有什么样的效果。

2.7K40

Tkinter:Python的门面担当

Python 有很多可实现 GUI 的库,在之前的文章中有过一个整理:如何用 GUI 提高 python 程序的颜值? 但没有针对某个具体的库做介绍。...Python 的内置编辑器 IDLE 就是使用 Tkinter 开发的。因此,我个人在之前的开发中,是将 Tkinter 作为首选。...在这个窗口之上,可以添加各种输入框、按钮、文本等,可以增加对各种动作的处理。 以往我们写的程序(比如猜数字、罚点球、查天气等)大多是有一个固定的执行流程。...看起来是静止的,但程序实际上是在等待你的操作:通过与窗口中的“控件”进行交互,比如点击按钮、输入文字、勾选选项等,产生不同的“事件”,程序再根据预设的“响应”做处理。...比如输入框、文本框、按钮、下拉菜单、滚动条等等,窗体本身也可以认为是一个控件。一个控件包含了数据和操作,决定了页面上的元素放在哪里、长什么样、有什么样的效果。

23920
  • 基于Python+tkinter实现一个简易计算器桌面软件

    今天,我们要一起使用Python中的tkinter库,来创建一个简易的桌面计算器。1. 为什么选择tkinter?tkinter是Python的标准GUI库。...,用于显示和输入数据 self.entry = ttk.Entry(self, width=30) self.entry.grid(row=0, column=0, columnspan=4...我们定义了一个列表,列出了每个按钮的文本以及其在网格布局中的行和列位置:def create_buttons(self): # 按钮及其位置的列表 buttons = [ ("...(0, tk.END) # 清空文本框 else: self.entry.insert(tk.END, char) # 向文本框插入字符最后,为了启动计算器应用,我们创建一个SimpleCalculator...你可以在此基础上增加更多的功能,例如支持更多的数学运算、历史记录或皮肤切换等。如果你对编程感到兴趣,我鼓励你继续探索。Python和tkinter为你提供了强大的工具和无限的可能性。

    43541

    笨办法学 Java(三)

    “对于数组orderNumbers中的每个整数‘num’…”。因此,在此循环的主体中,num将逐个接受数组中的每个值,并将它们全部显示出来。 在第 22 行,我们让人类输入订单号。...初始化列表最适合相对较小的数组,如果数组中有 1000 个值,初始化列表就不好玩了。 如果我们希望数组中的值来自文件或者我们在输入代码时没有的其他地方,初始化列表就帮不上忙了。...从第 22 行开始,我做了一些傻事。在练习结束之前,请不要下判断。 不管你为什么要这样做,你看到第 24 行基本上与第 15 行相同吗?第 24 行将一个随机数存储到数组的一个位置。哪个位置?...我相当肯定这些街道在这些城市中并不存在。 如果我奇迹般地编造了一个真实地址,请告诉我,我会更改它。 练习 54:从文件中读取记录 这个练习将向您展示如何从文本文件中读取记录的值。...当我们从文本文件中读取数据时,很多时候我们事先不知道它的长度。在最低温度练习中,我向你展示了一个处理这个问题的技巧:将项目数量存储为文件的第一行。

    19610

    ChatGPT为啥这么强:万字长文详解 by WolframAlpha之父

    ——并且每次都会添加一个词(更准确地说,如我所解释的,它添加一个“token”,这可能只是单词的一部分,这就是为什么它有时会“创造新词”的原因)。 在每一步中,它都会得到一个带有概率的单词列表。...我们就又可以续写文本了: 而每次这样做,都会有不同的随机选择,对应的文本也会不同。...让我们先从一个更简单的问题开始。当我们考虑逐字母(而非逐词)生成英文文本,该如何确定每个字母的概率呢? 最简单的方法是取一份英文文本样本,然后计算其中不同字母的出现频率。...接着,它获取该数组的最后一部分并生成一个包含约50,000个值的数组,这些值将转化为不同且可能的下一个token的概率(是的,恰好有与英语常用词汇相同数量的token,尽管只有大约3000个token是完整单词...ChatGPT的原始输入是数字数组(到目前为止token的embedding向量),当ChatGPT“运行”以生成新的token时,这些数字只是通过神经网络的层“传播”,每个神经元“做自己的事情”并将结果传递给下一层的神经元

    81060

    ChatGPT为啥这么强:万字长文详解 by WolframAlpha之父

    ——并且每次都会添加一个词(更准确地说,如我所解释的,它添加一个“token”,这可能只是单词的一部分,这就是为什么它有时会“创造新词”的原因)。 在每一步中,它都会得到一个带有概率的单词列表。...我们就又可以续写文本了: 而每次这样做,都会有不同的随机选择,对应的文本也会不同。...让我们先从一个更简单的问题开始。当我们考虑逐字母(而非逐词)生成英文文本,该如何确定每个字母的概率呢? 最简单的方法是取一份英文文本样本,然后计算其中不同字母的出现频率。...接着,它获取该数组的最后一部分并生成一个包含约50,000个值的数组,这些值将转化为不同且可能的下一个token的概率(是的,恰好有与英语常用词汇相同数量的token,尽管只有大约3000个token是完整单词...ChatGPT的原始输入是数字数组(到目前为止token的embedding向量),当ChatGPT“运行”以生成新的token时,这些数字只是通过神经网络的层“传播”,每个神经元“做自己的事情”并将结果传递给下一层的神经元

    61410

    为什么对ChatGPT、ChatGLM这样的大语言模型说“你是某某领域专家”,它的回答会有效得多?(一)

    让 ChatGPT 更智能的六种策略(上),我们曾提到,在向大模型提问时,告诉它扮演一个领域专家的角色,它的回答会更有针对性。 但为什么会这样呢?.../ 原文比较长,我把它将分为三部分逐次向大家科普,以下为翻译的内容,“我”为原作者,“注”为我的理解。‍‍‍‍‍‍‍‍‍‍‍...再次可以构建文本: 每次这样做时,都会做出不同的随机选择,并且文本也会不同 - 正如以下 5 个示例所示: 值得注意的是,即使在第一步,也有很多可能的“下一个单词”可供选择(温度为 0.8),尽管它们的概率下降得很快...当我们写到20个字的“论文片段”时,可能性的数量比宇宙中的粒子数量还多,所以从某种意义上说,它们永远不可能全部写下来。 所以,我们能做些什么?...稍后,我们将讨论如何构造这样的函数以及神经网络的思想。但现在让我们将该函数视为黑匣子,我们在其中输入手写数字的图像(作为像素值数组),然后得到这些对应的数字: 但这里到底发生了什么?

    12410

    为什么 SwiftUI 的修饰符顺序很重要

    每当我们将修饰符应用于 SwiftUI 视图时,我们实际上都会创建一个,应用了更改的新视图 —— 我们不仅仅是修改现有的视图。...我们将在下一章中查看为什么会发生这种情况,但是首先,我想看看这种行为的实际含义。...如果思考一下修饰符的工作原理,您就可以了解为什么会如此:每个修饰符都会创建一个,应用了该修饰符的新结构体,而不是在视图上设置属性。 您可以通过查询视图主体的类型来窥视 SwiftUI 的底层。...:ModifiedContent 当我们应用多个修饰符时,它们会叠加在一起:ModifiedContent<ModifiedContent<… 要了解该类型是什么...使用修饰符的一个重要副作用是,我们可以多次应用相同的效果:每个修饰符都会简单地添加到以前的内容中。

    2.3K20

    Unity基础教程系列(新)(六)——Jobs(Animating a Fractal)

    文本部分写在双引号之间,并且深度整数可以使用加法运算符连接到该文本字符串。 ? ? (四个分形级别随深度减小) 确实,每个级别的深度都会减少,一旦我们创建了正确数量的克隆体,该过程就会停止。...此类型将充当数据的简单容器,这些数据被捆绑在一起并被视为单个值,而不是对象。为了使Fractal中的其他代码可以访问此嵌套类型内的字段,需要将它们公开。...对于其他部分,它是当前级别数组的元素,其索引等于分形部分的索引。当我们以5的步长增加该索引时,也需要向其中添加子索引。 ?...为了使之与热重载一起工作,请将Awake也更改为OnEnable。 ? 为了使内容整洁,还请在OnDisable的末尾删除所有数组引用。无论如何,我们都会在OnEnable中创建新的。 ?...但是,当我们为每个部分分配五个子节点时,让我们尝试将批次数设为5。 ? 这进一步将我的平均更新时间减少到1.7ms。使用较大的批处理数量并不能进一步改善,甚至使速度变慢,因此我将其保留为5。

    3.6K31

    笨办法学 Python3 第五版(预览)(一)

    我不知道如何在我国的键盘上输入 # 字符。我该怎么做? 一些国家使用 ALT 键和其他键的组合来打印与其语言不同的字符。你需要上网搜索如何输入它。 为什么我要倒着读代码?...为什么我看不懂这个? 尝试将脚本中的数字改为你的测量值。这有点奇怪,但谈论自己会让它看起来更真实。而且,你刚刚开始,所以不会太有意义。继续前进,更多的练习会让你更好地理解。...注意,当我运行它时,我给了它first 2nd,这导致它出现了一个关于“需要超过 3 个值来解包”的错误,告诉你没有给足够的参数。 学习练习 尝试给你的脚本提供少于三个参数。看看你会得到什么错误?...我不明白你所说的改变提示是什么意思。看看变量prompt = '> '。将其更改为其他值。你知道这个;这只是一个字符串,你已经做了 13 个练习来创建它,所以花点时间弄清楚。...我将要向你介绍函数!Dum dum dah!每个程序员都会滔滔不绝地谈论函数以及它们如何工作和做什么,但我会给你一个你现在可以使用的最简单的解释。

    24310

    数组的下标越界与内存溢出有关吗_数据量过大数组报下标越界

    这里的元素个数就是在定义数组时那个方框框里的数字,对于多维数组来说,元素个数 = 每个方框框里的数字之积。...arr[10],它的下标范围是 0–9 ,超出这个范围就会发生下标溢出 以上两张图片是在VS2013里面的运行结果,两次输入的下标都会越界,但为什么第一张图报错了(数组下标越界),而第二张没有...这是因为VS2013这个编译器在处理数组下标时,只认为当引用的下标等于数组元素个数时下标越界(可能是怕初学者把数组下标当成是以0开始的吧),别的情况别不回去检测和处理(当我输入的值大于等于11,程序都不会报错...以上是在VC6.0的运行结果,VS2013不同,VC6.0里报错出现在输入值为11时(当输入12时也会报错),而输入10时并不会报错。...比如下标越界那个例子中的 i 我定义为10,当在VS2013环境下,我输入的下标值为12,在输出arr[12] = 20 的同时,会把i的值也改为20(VS中定义的两个变量,分配内存时会在两个变量的内存空间之间隔出两个空间

    1.8K60

    普通人也能看懂的大语言模型入门,不要错过哦

    深度学习仍然使用相同的基本增量技术来猜测参数。 5. 什么是语言模型? 当我们做汽车的例子时,我们试图让我们的神经网络执行与我们的数据一致的行为。...顶部的所有圆圈都连接到每个单词的打击臂。所有的打击臂都会接收到一些能量,但是其中一个将会接收到比其他更多的能量。 这是一个庞大的网络! 但情况会更糟。...然后,我只需要担心哪些词大致意味着相同的事物,以及接下来怎么做(向“王座”发送大量能量)。 所以,我们要做的是这样的。...一个经过训练的编码器-解码器网络,用于输出与输入相同的单词(它是之前相同的图像,但用颜色表示激活状态)。 我输入单词“king”,一个传感器发送电信号通过编码器,并在中间的编码中部分激活了256个值。...它在处理医学文本时可能表现尚可。一个仅在医学文档上训练的语言模型可能对与医学情境相关的输入反应非常好,但在回应其他输入,如闲聊或食谱时表现得相当糟糕。

    14612

    干货 | 这些小程序技巧,你至少会用到一个!你

    小程序单独设置data中对象的具体属性值 这是一个新手和老手可能都会遇到的问题,因为小程序所有数据要响应,必须使用this.setData()方法, 那现在假设我有这样一个数据: ?...假设我现在的数据变成了这样: ? 我们现在只想把discountList数组中选中对象的click值变为1,怎么办? ? No,No,你会发现这样是不行的,我教你一个简单方法: ? 但是!...小程序接口加密时去除昵称数据含有的reshuffle表情(例如emoji) 你有没有遇见过,你要对每个用户的微信昵称就行接口发送给后台,但是他随机的报错了…… 我的天,因为每次接口都要经过MD5加密,需要将获取的用户昵称一起加密发送到后台...,开始毫无知觉拿过来直接扔进去加密,直到用后台人员的微信测试,中文验签失败,几周前已经调整过中文验签的签名算法,后来发现……他的微信昵称里有3个“屁”…… 具体是什么屁…… 你打开你的输入法的emoji...这个时候会出现一种情况,当我点击view时,他会跳转到指定页面,当我点击view里面的image时,他会跳转2遍指定页面,第一反应就是当年做的第一个前端项目出现的新的认知,事件冒泡。

    74800

    PyTorch 深度学习(GPT 重译)(二)

    最后,我们将涉足简·奥斯汀的文本数据。文本数据保留了其有序性,但引入了将单词表示为数字数组的问题。 在每个部分中,我们将在深度学习研究人员开始的地方停下来:就在将数据馈送给模型之前。...这两个示例损失函数在零处有明显的最小值,并且随着预测值向任一方向偏离真值,它们都会单调增加。由于增长的陡峭度也随着远离最小值而单调增加,它们都被称为凸函数。...然而,在本章中,我们将使用功能更弱但更普遍适用的方法。我们这样做是因为对于我们最终感兴趣的深度神经网络,损失不是输入的凸函数。...如果我们可以使邻域无限小,就像图 5.6 中那样,会发生什么?这正是当我们对参数的损失进行导数分析时发生的情况。...实际上,当我们执行这段代码时,PyTorch 记录的前向图在我们调用backward时被消耗掉,留下params叶节点。但现在我们想要在开始构建新的前向图之前更改这个叶节点。

    25410

    如何写出专业的数据科学代码?你需要知道这6点

    它们都有相同的函数名,find_most_common 他们都有一个参数,values 它们都有一个执行大致相同操作的主体:计算值中每个 values 显示的次数 它们都返回相同的内容:输入参数值中最常见的值...(即使两种语言之间的语法有点不同)。你可以使用这个编写小函数的一般原则,每个函数只做一件事,将代码分解成更小的片段。 为什么是函数?...在这里,我将研究如何用一行代码向函数添加测试。 在上面编写的 python 函数中,我返回了最常见的值……但是如果有多个返回值的情况怎么办?...当你需要回到一个项目,或者当你第一次遇到新的代码并且需要了解正在发生的事情时,这会节省你的时间。 风格 ---- 当我在这里说「风格」时,我的字面意思是「遵循特定的风格」。...花一点时间让每件事都更容易理解和使用,可以节省很多时间。 预测数据的变化 我所说的「数据的变化」是指数据中的差异,这些差异会把事情分解开来。

    1.1K10

    重读vue2.0风格指南,我整理了这些关键规则

    可以看到,不使用key,删除第二个元素之后,输入框前面的数字显示正确的,但是数字3后面的输入框的内容显示错了,应该显示 我是第三个 v-for 使用索引作为 key 点击查看代码演示 ?...可以看到,使用索引作为 key之后,与不使用key的效果一样,删除第二个元素之后,输入框前面的数字显示正确的,但是数字3后面的输入框的内容显示错了,应该显示 我是第三个 v-for 使用唯一值id作为...假设我们现在开发了一个组件,组件上面的data是一个普通的对象,那么当我们实例化多个组件的时候,所有的实例将共享引用同一个数据对象,任何一个实例对数据的修改都会影响到其他实例。...,属性的类型是什么,默认值是什么,是否是必须的,这样做的好处包括: 详细的定义了属性的各方面信息,所以很容易看懂组件的用法; 在开发环境下,如果向一个组件提供格式不正确的 prop,Vue将会得到警告,...为什么组件名应该又多个单词组成,因为这样做可以避免跟现有的以及未来的 HTML 元素相冲突。更关键的是,这样做不会被打,当然你也可以做,祝你好运,(手动调皮)。

    82850

    我用 React 和 Vue 构建了同款应用,来看看哪里不一样(2020 版)

    我想尽量保持中立,通过这样的例子来告诉大家这两种技术执行特定任务时是怎样做的。 当 React Hooks 发布时,我为这篇文章更新了 “2019 版”,用函数式 Hooks 取代了类组件。...首先,“突变数据”到底是什么意思呢?听起来是不是有点高深?其实它基本上就是指更改我们已存储的数据。如果我们想将一个人名的值从 John 更改为 Mark,我们就是在“突变“这份数据。...它的工作机制基本上是这个样子: 假设我们要创建一个待办事项列表,我们可能需要创建一个名为 list 的变量,它可能需要接收一个由字符串或对象组成的数组(比如说给每个 todo 字符串一个 ID 或其他一些东西...在 React 中,我们的输入字段有一个名为 value 的属性。每次通过 onChange 事件侦听器 更改它的值时,都会自动更新此值。...不管怎样,回到空字符串的状态,无论我们在输入字段中键入什么文本都必须绑定到 todo.value。这实际上就是双向绑定——输入字段可以更新 ref() 值,反过来后者也可以更新输入字段。

    4.8K30

    为什么SwiftUI修饰符顺序很重要?

    每当我们将修饰符应用于SwiftUI视图时,我们实际上都会创建一个应用了更改的新视图——我们不仅会修改现有的视图。...我们将在下一章中查看为什么会发生这种情况,但是首先,我想看看这种行为的实际含义。...如果思考一下修饰符的工作原理,您就可以了解为什么会如此:每个修饰符都会创建一个应用了该修饰符的新结构体,而不是在视图上设置属性。 您可以通过查询视图主体的类型来窥视SwiftUI的底层。...:ModifiedContent 当我们应用多个修饰符时,它们会叠加在一起:ModifiedContent<ModifiedContent<… 要了解该类型是什么...使用修饰符的一个重要副作用是,我们可以多次应用相同的效果:每个修饰符都会简单地添加到以前的内容中。

    2.4K10

    干货 | 一篇文章教你用TensorFlow写名著

    首先我们回顾一下,在 DNN 和 CNN 中,我们都会将数据分 batch 输入给神经网络,加入我们有 100 个样本,如果设置我们的 batch_size=10,那么意味着每次我们都会向神经网络输入...同样的,在 LSTM 中,batch_size 意味着每次向网络输入多少个样本,在上图中,当我们设置 batch_size=2 时,我们会将整个序列划分为 6 个 batch,每个 batch 中有两个数字...然而由于 RNN 中存在着 “记忆”,也就是循环。事实上一个循环神经网络能够被看做是多个相同神经网络的叠加,在这个系统中,每一个网络都会传递信息给下一个。...那么实际上我们每个 batch 是一个N×M的数组,相当于我们的每个 batch 中有N×M个字符。...当我们输入一个字符时,它会预测下一个,我们再将这个新的字符输入模型,就可以一直不断地生成字符,从而形成文本。

    79850

    干货 | 一篇文章教你用TensorFlow写名著

    首先我们回顾一下,在 DNN 和 CNN 中,我们都会将数据分 batch 输入给神经网络,加入我们有 100 个样本,如果设置我们的 batch_size=10,那么意味着每次我们都会向神经网络输入...同样的,在 LSTM 中,batch_size 意味着每次向网络输入多少个样本,在上图中,当我们设置 batch_size=2 时,我们会将整个序列划分为 6 个 batch,每个 batch 中有两个数字...然而由于 RNN 中存在着 “记忆”,也就是循环。事实上一个循环神经网络能够被看做是多个相同神经网络的叠加,在这个系统中,每一个网络都会传递信息给下一个。...那么实际上我们每个 batch 是一个N×M的数组,相当于我们的每个 batch 中有N×M个字符。...当我们输入一个字符时,它会预测下一个,我们再将这个新的字符输入模型,就可以一直不断地生成字符,从而形成文本。

    1.3K80
    领券