如何让Tkinter带滚动条的Text组件文本自动换行
解决Tkinter Text组件自动换行问题
嘿,作为Tkinter新手遇到这个问题太正常啦~ 你的Text组件滚动条功能没问题,但文本行满不自动换行,核心原因就是没给Text组件设置wrap属性。
Tkinter的Text组件默认换行行为可能不符合你的预期,只需要在创建组件时加个参数就能搞定:
修改后的代码
把你创建selite_text的那行代码,加上wrap="WORD"(推荐用这个,按单词换行阅读更流畅):
selite_text = Text(selite_frame, borderwidth=5, width=52, height=5, bg=colour5, relief="groove", wrap="WORD")
如果你希望严格按字符宽度换行(哪怕拆分单词),可以换成wrap="CHAR"。
简单说明
wrap="WORD":文本碰到组件边缘时,会在最近的单词末尾换行,避免拆分单词,更符合日常阅读习惯wrap="CHAR":只要字符到了组件边缘就换行,适合不需要在意单词完整性的场景- 要是没设置这个属性,默认可能是
wrap="NONE",这会让文本一直横向延伸,不会自动换行
修改后,你的Text组件就会在内容填满一行时自动换行,同时滚动条依然能正常工作,完全匹配你想要的效果~
内容的提问来源于stack exchange,提问作者Heikki
相关产品推荐
相关产品推荐

