Я хочу выровнять текст следующим образом на 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
должно получить каждая строка, чтобы они совпали с * 1010? * (если вкладки - единственный вариант)?
Я не могу использовать QString :: arg (), так как текст отображается в графическом интерфейсе с использованием текста не-постоянной-ширины. Проблема здесь в том, что если я посчитал количество символов и установил fieldWidth , то :
не выравнивается, так как ширина каждого символа не одинакова (изменение шрифта не вариант)
Я попробовал некоторую логику подсчитать, а затем «угадать» количество вкладок, которые нужно вставить, что в целом работает, но в некоторых случаях это может не сработать.
Я также не могу использовать любые другие виджеты, так как код имеет доступ только к одному QLabel*
, который он должен обновить.