当 Tkinter 中的行充满滚动条时,如何使文本小部件跳到下一行

How to make text widget skip to next line when row is full with scrollbar in Tkinter

我是一般编程和 Tkinter 的新手。我正在尝试将滚动条与文本小部件一起使用,并且滚动条工作得很好。但是,当行充满文本时,小部件上的文本不会换行。

图中(Picture)上图就是我说的。下图是我希望文本在 tex-widget 中起作用的方式,但添加了滚动条。在下面的图片上,我可以通过选择文本并将其向下拖动来滚动,但这是不理想的。两张图片(图中)都是从完全相同的数据库条目中查询的。

下面是我的带滚动条图片的相关代码:

selite_frame = Frame(hakutulos_frame)
selite_frame.grid(row=2, column=0, columnspan=3)
selite_text = Text(selite_frame, borderwidth=5, width=52, height=5, bg=colour5, relief="groove")
selite_text.insert(END, data[row_count][5])
selite_text.pack(side="left")
selite_text.configure(state=DISABLED)

抱歉变量和一些文本不是英文的。这不是我天真的语言。

我不明白你的问题,但我认为如果你只使用标准的滚动文本对象而不是自己制作,你的问题就可以避免。

from tkinter.scrolledtext import ScrolledText
selite_frame = Frame(hakutulos_frame)
selite_frame.grid(row=2, column=0, columnspan=3)
selite_text = ScolledText(selite_frame, borderwidth=5, width=52, height=5, bg=colour5, relief="groove")
selite_text.insert(END, data[row_count][5])
selite_text.pack(side="left")
selite_text.configure(state=DISABLED)

即使您没有提供适当的示例,小部件上的 wrap 选项似乎已被关闭,尽管它通常默认打开。

您只需将 wrap 选项设置为字符串“word”或“char”即可。

the_widget.configure(wrap="word")