如何在Python的Tkinter中为输入框设置默认整数值?
解决Tkinter Entry初始值不生效的问题
你的问题出在没有把IntVar()和Entry组件绑定,所以调用self.hour.set(0)无法影响输入框的显示。
修正步骤:
- 在创建
Entry时,通过textvariable参数将self.hour与输入框关联 - 再调用
self.hour.set(0)即可设置初始值
修正后的完整代码:
# entry box for hour self.hour = IntVar() # 添加textvariable参数绑定变量 self.time_hour = tkinter.Entry(font=("Helvetica", 10), textvariable=self.hour) self.time_hour.grid(row=3, column=0, columnspan=1, padx=5, pady=110) # 设置初始值,此时输入框会显示0 self.hour.set(0)
额外说明:
这种绑定是双向的:
- 当用户在输入框中修改内容时,
self.hour的值会自动同步更新 - 当你调用
self.hour.set()修改变量值时,输入框也会立刻显示新的内容
内容的提问来源于stack exchange,提问作者Raven
相关产品推荐
相关产品推荐

