如何用空格填充QString?

时间:2011-11-09 17:57:39

标签: c++ qt qt4

如何在末尾填充带空格的QString?

例如,我希望QString总共为4个字符,并且它只有1个字符长。我希望最后3个是空格。

2 个答案:

答案 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"