Tkinter只读Entry组件无法显示内容问题求助
问题解决:Tkinter只读Entry文本框无法显示内容
你的问题出在Entry控件初始状态设为readonly后,无法直接插入内容——Tkinter的只读模式会阻止所有写入操作,包括insert方法。
修正方案
插入内容前,需要先将Entry切换为可编辑状态(normal),完成插入后再切回只读模式。两种可行写法如下:
写法1:先创建正常状态控件,插入后设为只读
value_close_open_short = round((np.round(Results_short.iloc[level_short].open_low, 3)) * 100, 2) # 创建默认可编辑的Entry close_open_short_box = tk.Entry(root) # 插入计算好的值 close_open_short_box.insert(tk.INSERT, value_close_open_short) # 切换为只读状态 close_open_short_box.config(state="readonly") close_open_short_box.grid(row=0, column=1)
写法2:先设只读,临时切换状态插入内容
value_close_open_short = round((np.round(Results_short.iloc[level_short].open_low, 3)) * 100, 2) close_open_short_box = tk.Entry(root, state="readonly") # 临时开启编辑权限 close_open_short_box.config(state="normal") close_open_short_box.insert(tk.INSERT, value_close_open_short) # 恢复只读状态 close_open_short_box.config(state="readonly") close_open_short_box.grid(row=0, column=1)
两种写法核心逻辑一致:只有当Entry处于normal状态时,才能成功插入或修改内容。
内容的提问来源于stack exchange,提问作者Dario Federici
相关产品推荐
相关产品推荐

