gpt4 book ai didi

python - 在两列中格式化 tkinter 消息框中的文本

转载 作者:行者123 更新时间:2023-12-04 03:37:38 25 4
gpt4 key购买 nike

通常我在控制台中使用固定长度的字符来格式化文本。现在我想在 tkinter 消息框中做类似的事情,但这会弄乱缩进。比如这个

from tkinter import messagebox

info = {'Everything': 'first one', 'should be': 'second one', 'evenly outlined': 'another one', 'ms are really long':'previous to the last', 'mmmmmmmmmmmmmmm': "you see?"}
infostring = (f"{k: <20}:{v}" for k, v in info.items())
messagebox.askokcancel(
title="outlining",
icon=messagebox.QUESTION,
message=("Is this your outlined well?\n\n" + "\n".join(infostring)),
)

结果

enter image description here

而在控制台中它将是:

Everything          :first one
should be :second one
evenly outlined :another one
ms are really long :previous to the last
mmmmmmmmmmmmmmm :you see?

这就是我希望它在消息框中的样子。

最佳答案

由于操作系统级别的限制,我认为使用普通的 MessageBox 是不可能的。但是,您可以通过将 justify 设置为 tkinter.LEFT 在标签中执行此操作。

下面是一些示例代码:

import tkinter
msg = """Everything :first one
should be :second one
evenly outlined :another one
ms are really long :previous to the last
mmmmmmmmmmmmmmm :you see?"""
r = tkinter.Tk()

label1 = tkinter.Label(r, text=msg, font=("Consolas", 12), justify=tkinter.LEFT)
label1.place(x=0,y=0)
r.mainloop()

输出这个:

Message Box

我知道这不是一个准确的答案,而且我对 Tkinter 不是很精通,但希望这会提供一些帮助。祝你好运!

编辑:

我还使用了等宽字体,这很可能是确保文本始终保持一致宽度所必需的。

关于python - 在两列中格式化 tkinter 消息框中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66585702/

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