如何在QString中添加空格?

14

如何在QString末尾填充空格?

例如,我希望一个QString总共有4个字符,但它只有1个字符的长度。我想让最后3个字符是空格。


3
QString foo("1"); foo += QString(3, ' '); - Praetorian
作为一个更一般的答案(而不是只说RTFM),如果您在Qt文档下查找QString 类参考,并搜索文本“pad”,则会发现下面的函数 - Samuel Harmer
2个回答

28

奇怪的是,有一种专门用于此的函数,叫做QString::leftJustified

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

因此,paddedString = originalString.leftJustified(4, ' ');就可以做到这一点。

(请注意,您还可以通过传入第三个参数true来选择性地截断字符串,如果它超过了您的字符限制。)


4
您还可以使用带有字段宽度参数的QString::arg()重载。字段宽度值是所需字符总数,而不是填充大小。对于左填充,您需要使用负字段宽度值,对于右填充则需要使用正值。
QString QString::arg(const QString & a, 
        int fieldWidth = 0, const QChar & fillChar = QLatin1Char( ' ' ))

在IT技术中,最常用的是printf风格的格式化方法。

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

gives "a :2 - 10"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接