gpt4 book ai didi

python - 如何在 Python 应用程序中分隔文本 block ?

转载 作者:行者123 更新时间:2023-11-28 17:23:23 24 4
gpt4 key购买 nike

我正在学习 Python 并编写一个应在屏幕上显示文本 block 的应用程序。我正在使用 tkinter 库。

某些 block 中的文本可能无法放在一行中,因此我决定使用 Text 小部件,因为它可以选择换行文本。我还使用了 Scrollbar 小部件,因为文本 block 可能不适合屏幕。所以我的代码看起来像这样:

root = Tk()
scrollbar = Scrollbar(root)
t = Text(root, wrap=WORD)

def show_messages():
for i in range (0, len(messages)):
t.insert(END, messages[i] + '\n')

def show_windows():
scrollbar.pack(side="right", fill="y", expand=False)
t.pack(side="left", fill="both", expand=True)
root.mainloop()

show_messages()
show_window()

毕竟,消息应该用某种线分隔,但我坚持这一点。所以,我的问题是:如何分隔文本 block ?或者也许我走错了路,我应该使用 Listbox 小部件而不是 Text?提前致谢!

最佳答案

您可以通过使用文本小部件的 window_create 方法插入黑框来实现:

import tkinter as tk

root = tk.Tk()
scrollbar = tk.Scrollbar(root)
t = tk.Text(root, wrap="word")

messages = [
"""
#############################
# #
# text block 1 #
# #
#############################
""",
"""
#############################
# #
# text block 2 #
# #
#############################
"""
]

def show_messages():
for i in range (0, len(messages)):
t.insert("end", messages[i] + '\n')
# add a black centered the text block
f = tk.Frame(t, width=200, height=1, background="black")
t.window_create("end", window=f)
t.insert("end",'\n')

def show_windows():
scrollbar.pack(side="right", fill="y", expand=False)
t.pack(side="left", fill="both", expand=True)
root.mainloop()

show_messages()
show_windows()

关于python - 如何在 Python 应用程序中分隔文本 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40436010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com