【问题标题】:How do I pad a QString with spaces?如何用空格填充 QString?
【发布时间】:2011-11-09 17:57:39
【问题描述】:

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

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

【问题讨论】:

标签: c++ qt qt4


【解决方案1】:

奇怪的是,有一个专门用于 QString::leftJustified 的函数

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

所以paddedString = originalString.leftJustified(4, ' '); 可以解决问题。

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

【讨论】:

    【解决方案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"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 2017-11-04
      • 2017-10-05
      • 2015-06-04
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多