gpt4 book ai didi

python - 使用 Python 中 QTextEdit 中的格式对齐文本

转载 作者:行者123 更新时间:2023-11-30 22:54:34 24 4
gpt4 key购买 nike

我想在 QTextEdit 中显示文本。我使用 format() 函数来对齐文本并使其看起来像一个干净的表格。虽然在 shell 中显示文本时我得到了完美的结果,但文本在 QTextEdit 中似乎没有对齐,就像字符宽度变化一样。我主要看到字符“-”存在时的差异。

>>> first_line = "{:<10} {:<3} - {:<20}".format("1234", "EUR", "Mrs Smith")
>>> second_line = "{:<10} {:<3} - {:<20}".format("-45.62", "GBP", "M Doe")
>>> print first_line, "\n", second_line
1234 EUR - Mrs Smith
-45.62 GBP - M Doe

结果与 shell 中的预期一致。但使用 QTextEdit 时,对齐方式不正确,因为您可以看到“EUR”和“GBP”之间的细微差别。在这个例子中它并不多,但是当我将它与更多行一起使用时,它看起来确实不太正确。

my_text_edit = QTextEdit()
my_text_edit.append(first_line)
my_text_edit.append(second_line)

the alignment of the text is not right in this QTextEdit

我尝试使用 QPlainTextEdit 并得到了相同的结果。无论如何,要通过 QTextEdit/QPlainTextEdit 获得我想要的东西?或者我应该使用另一个显示小部件(不需要编辑,标签就可以,但我喜欢文本编辑的外观)?

最佳答案

我使用的默认字体没有固定宽度,因此不对齐。将字体设置为固定宽度字体(例如“等宽字体”)解决了我的问题:

fixed_font = QFont("monospace")
fixed_font.setStyleHint(QFont.TypeWriter)
my_text_edit.setFont(fixed_font)

我使用“setStyleHint”来指示如果系统上未找到“等宽”,Qt 应使用哪种字体,“QFont.TypeWriter”指示选择固定间距字体,以便仍然遵守对齐方式。

关于python - 使用 Python 中 QTextEdit 中的格式对齐文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37721194/

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