鱼C论坛

 找回密码
 立即注册
查看: 1263|回复: 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 变量时指定初始值为 '' 空字符串,对应的代码如下:
from tkinter import *root = Tk()v = IntVar(value='')  # 将IntVar的初始值设为''n = Entry(root, textvariable=v)n.pack()mainloop()
这样,就不会在 Entry 中显示默认值 0 了。

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

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

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> 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 变量时指定初始值为 '' 空字符串,对应的代码如下:
from tkinter import *root = Tk()v = IntVar(value='')  # 将IntVar的初始值设为''n = Entry(root, textvariable=v)n.pack()mainloop()
这样,就不会在 Entry 中显示默认值 0 了。

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

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

以下是修改后的代码:
from tkinter import *
root = Tk()
v = IntVar()
v.set(1)  # 设置初始值为1
n = Entry(root, textvariable=v)
n.pack()
mainloop()

希望能帮助到你!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-28 20:02:32 | 显示全部楼层
v.set('')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-29 16:30:34 | 显示全部楼层
intvar默认是0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-8 23:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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