Как мне дополнить QString пробелами? - PullRequest
13 голосов
/ 09 ноября 2011

Как я могу дополнить QString пробелами в конце?

Например, я хочу, чтобы QString составляла всего 4 символа, а длина всего 1 символ.Я бы хотел, чтобы последние 3 были пробелами.

Ответы [ 2 ]

23 голосов
/ 09 ноября 2011

Как ни странно, есть функция специально для этого, которая называется QString::leftJustified

http://doc.qt.io/qt-4.8/qstring.html#leftJustified

Так что paddedString = originalString.leftJustified(4, ' '); сделает свое дело.

(Обратите внимание, что вы также можете опционально обрезать строку, если она длиннее, чем предел вашего символа, передав третий параметр true.)

3 голосов
/ 07 марта 2016

Вы также можете использовать перегрузку QString :: arg () , которая принимает параметр ширины поля.Значение ширины поля - это общее количество желаемых символов, а не размер отступа.Вам нужно использовать отрицательное значение ширины поля для заполнения слева, положительное значение для заполнения справа

QString QString::arg(const QString & a, 
        int fieldWidth = 0, const QChar & fillChar = QLatin1Char( ' ' ))

Наиболее полезно, например, в формате printf.

QString("%1: %2 - %3").arg("a", -4).arg(2).arg(10);

дает"a :2 - 10"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...