【问题标题】:Printing trees - Is there a way to ensure text in Kivy labels is aligned perfectly?打印树 - 有没有办法确保 Kivy 标签中的文本完美对齐?
【发布时间】:2021-09-29 18:45:41
【问题描述】:

我正在尝试开发一个需要在标签中显示树的 Kivy 桌面应用程序。

树只是一个看起来像这样的字符串:

"   ┌ 3 \n   │\n 1 ┤                  ┌ 2 \n   └─────────────── 4 ┤\n                      └ 5 "

这在终端内操作时完美运行,并且树正确对齐,如下所示。

但是,当将此字符串放入 Kivy 标签内时,它不会正确对齐(见下文)。

我认为文本的尺寸与终端中的尺寸不同存在问题。但是,我无法调整标签的属性、文本大小、字体或其他任何内容。问题似乎总是存在。

默认字体甚至不会显示树枝。我将 font_name 设置为“DejaVuSans.ttf”,这至少可以渲染分支,但它们仍然没有对齐。

如何解决这个烦人的问题?

另外,有没有更聪明的方法在 Kivy 应用中显示树,可以完全绕过这个问题?

【问题讨论】:

    标签: python python-3.x user-interface kivy kivy-language


    【解决方案1】:

    如果使用FreeMono字体并将标签文字调整为:

    "    ┌ 3 \n    │\n 1 ┤                               ┌ 2 \n    └─────────────── 4 ┤\n                                    └ 5 "
    

    它似乎有效。

    【讨论】:

    • 哇,只需将字体设置为 FreeMono 即可解决问题!非常感谢!
    • 回来说同样的话(我以前在这里时没有想到)。您可能会发现任何等宽字体都可以解决问题。
    猜你喜欢
    • 2021-04-08
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2022-07-07
    • 1970-01-01
    • 2018-05-16
    相关资源
    最近更新 更多