如何在末尾填充带空格的QString?
例如,我希望QString总共为4个字符,并且它只有1个字符长。我希望最后3个是空格。
答案 0 :(得分:22)
奇怪的是,有一个专门用于调用QString::leftJustified
http://doc.qt.io/qt-4.8/qstring.html#leftJustified
所以paddedString = originalString.leftJustified(4, ' ');
可以解决问题。
(请注意,如果字符串长于字符数限制,您也可以通过传入true
的第三个参数来截断字符串。)
答案 1 :(得分:2)
您还可以使用带有字段宽度参数的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"