gpt4 book ai didi

c++ - 用于在 QLabel 上对齐非恒定宽度文本的通用代码

转载 作者:行者123 更新时间:2023-11-30 03:21:24 25 4
gpt4 key购买 nike

我想在 QLabel 上按如下方式对齐文本:

name         : value
more : other value
longer name : value

下面的操作很简单

QString str;
str += "name\t\t: value\n";
str += "more\t\t: other value\n"
str += "longer name\t: value"

问题是,如果我事先不知道字符串对,Qt 中有没有办法确定每个字符串必须有多少个 \t-chars它们在 : 上对齐(如果制表符是唯一的选项)?

我不能使用 QString::arg(),因为文本是使用非恒定宽度文本显示在 GUI 上的。这里的问题是,如果我计算字符数并设置 fieldWidth : 不会对齐,因为每个字符的宽度不相同(更改字体是不是一个选项)

我尝试了一些逻辑来计算然后“猜测”要插入的制表符的数量,这在一般情况下是有效的,但在某些极端情况下它可能不起作用。

我也不能使用任何其他小部件,因为代码只能访问它必须更新的一个 QLabel*

最佳答案

我认为如果使用的字体不是等宽字体,则使用“空白”字符的对齐可能会失败。

你应该使用 QGridLayout或者,如果您真的只需要使用一个 QLable 来存档它,您可以使用 html 标签(tabletr)对齐文本td).

关于c++ - 用于在 QLabel 上对齐非恒定宽度文本的通用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52112857/

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