如何将文本添加到Tkinter Text组件的底部?
让Tkinter Text组件文本显示在底部的简便方法
你的问题核心是每次插入文本都放在了组件顶部,只需修改两个关键点就能实现文本显示在底部:
- 把文本插入位置从开头(
"1.0")改为组件末尾(tk.END) - 插入后让组件自动滚动到末尾,确保底部内容可见
修改后的完整代码
import tkinter as tk # Tk Stuff window = tk.Tk() window.geometry("1200x1200") window.title("MSU RPG") field = tk.Text(window, height=15, width=45, font=("Arial", 16)) field.grid(row=1, column=1, columnspan=11) # Tk field text field_text = "" def atf(sth): global field_text field_text += str(sth) field.delete("1.0", "end") field.insert(tk.END, field_text) # 插入到组件末尾 field.see(tk.END) # 自动滚动到最后一行,让底部内容显示 def clear(): global field_text field_text = "" field.delete("1.0", "end") window.mainloop() # 启动窗口主循环
更高效的写法(无需每次清空重插)
如果不需要单独维护field_text变量,或者只想直接追加内容,可以简化atf函数,避免每次删除整个组件内容再重插,提升性能:
def atf(sth): field.insert(tk.END, str(sth)) # 直接追加新内容到末尾 field.see(tk.END) # 滚动到底部
这样修改后,新添加的文本会自动出现在组件底部,无需复杂的滚动条配置。
内容的提问来源于stack exchange,提问作者Preston
相关产品推荐
相关产品推荐

