如何在 tkinter 的自动滚动列表框中包装文本?

How to wrap text in Auto Scroll List Box in thinter?

请说明如何在自动列表框中换行。 文本在列表项中没有完全显示,我希望它在到达行尾时自动换行。 我知道我必须做 wrap=WORD 但无法找到我应该添加它的地方。 提前谢谢你。

UI 的图片,外出的文字:

代码片段

class AutoScroll_ListBox:
    def __init__(self, master):
        frame = Frame(master)
        frame.pack(fill=X, padx=10, pady=1)
        instructions()

        self.listbox_log = Listbox(
            frame, bg="black", height=12, fg="cyan", font=('Times', 45))
        self.scrollbar_log = Scrollbar(frame)

        self.scrollbar_log.pack(side=RIGHT)
        self.listbox_log.pack(fill=X)

        self.listbox_log.configure(
            yscrollcommand=self.scrollbar_log.set)
        self.scrollbar_log.configure(command=self.listbox_log.yview)

        # Just to show unique items in the list
        self.item_num = 0

    def addToChatBox(self, speaker, msg):
        self.listbox_log.insert(END, speaker+"       " + msg)

        self.listbox_log.select_clear(self.listbox_log.size() - 2)
        self.listbox_log.yview(END)

        self.item_num += 1

    def onSpeak(self):
        print("Listening..")
        msg = take_user_input()
        self.addToChatBox("User :", msg)
        result = Logic.reply_to_query(self, msg.lower())
        self.addToChatBox("Liam :", result)

    def onAdd(self):
        msg = messageVar.get()
        self.addToChatBox("User :", msg)
        result = Logic.reply_to_query(self, msg.lower())
        self.addToChatBox("Liam :", result)

Listbox 小部件不支持换行。如果您希望文本能够换行,则必须使用其他东西,例如 Text 小部件。

我的解决方案:

我所做的是在每 60 个字符之后创建一个新的列表项,因为我的字体将保持不变,因此适合一行的字符将始终保持不变。 这是现在的样子。

Solved problem screenshot