鱼C论坛

 找回密码
 立即注册
查看: 2499|回复: 4

[已解决]tkinter里的IntVar问题

[复制链接]
发表于 2023-8-28 20:00:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from tkinter import *
root = Tk()
v = IntVar()
n = Entry(root, textvariable=v)
n.pack()
mainloop()
为什么显示框内会有零呢(记得没设置过零),请指教
屏幕截图 2023-08-28 195247.png
最佳答案
2023-8-28 20:00:20
关于IntVar的默认值为0的问题

在你提供的代码中,v = IntVar() 这一行创建了一个类型为 IntVar 的变量 vIntVartkinter 模块中用于跟踪整数变量的类,因此它是一个整数型的变量。

当你将 v 赋值给 ntextvariable 属性时,会自动将 v 中的值显示在 Entry 组件中。由于 IntVar 类型的变量默认初始值为 0,因此在 Entry 组件中显示的值就是 0

如果你不希望在 Entry 组件中显示默认值为 0,可以在创建 IntVar 变量时指定初始值为 '' 空字符串,对应的代码如下:
  1. from tkinter import *
  2. root = Tk()
  3. v = IntVar(value='')  # 将IntVar的初始值设为''
  4. n = Entry(root, textvariable=v)
  5. n.pack()
  6. mainloop()
复制代码

这样,就不会在 Entry 中显示默认值 0 了。

希望能帮到你!如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-8-28 20:00:20 | 显示全部楼层    本楼为最佳答案   
关于IntVar的默认值为0的问题

在你提供的代码中,v = IntVar() 这一行创建了一个类型为 IntVar 的变量 vIntVartkinter 模块中用于跟踪整数变量的类,因此它是一个整数型的变量。

当你将 v 赋值给 ntextvariable 属性时,会自动将 v 中的值显示在 Entry 组件中。由于 IntVar 类型的变量默认初始值为 0,因此在 Entry 组件中显示的值就是 0

如果你不希望在 Entry 组件中显示默认值为 0,可以在创建 IntVar 变量时指定初始值为 '' 空字符串,对应的代码如下:
  1. from tkinter import *
  2. root = Tk()
  3. v = IntVar(value='')  # 将IntVar的初始值设为''
  4. n = Entry(root, textvariable=v)
  5. n.pack()
  6. mainloop()
复制代码

这样,就不会在 Entry 中显示默认值 0 了。

希望能帮到你!如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-28 20:00:36 | 显示全部楼层
在Tkinter中,当我们使用IntVar作为Entry的textvariable时,如果IntVar没有被显式地设置值,它的默认值将为0。因此,当你运行上面的代码时,显示框内会显示0。

如果你想要避免显示0,你可以在创建IntVar之后立即设置一个初始值,例如v.set(1)。这样,显示框内就会显示1而不是0。

以下是修改后的代码:

  1. from tkinter import *
  2. root = Tk()
  3. v = IntVar()
  4. v.set(1)  # 设置初始值为1
  5. n = Entry(root, textvariable=v)
  6. n.pack()
  7. mainloop()
复制代码


希望能帮助到你!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-28 20:02:32 | 显示全部楼层
  1. v.set('')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-29 16:30:34 | 显示全部楼层
intvar默认是0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 01:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表