QString之arg

QString的arg接口主要用於字符串組合的功能。

arg接口列表

QString arg(const QString &a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) const
QString arg(qlonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(long a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(ulong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(uint a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(short a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(ushort a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(double a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = QLatin1Char(' ')) const
QString arg(char a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) const
QString arg(QChar a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) const
QString arg(QStringView a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) const
QString arg(QLatin1String a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) const
QString arg(const QString &a1, const QString &a2) const
QString arg(const QString &a1, const QString &a2, const QString &a3) const
QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4) const
QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5) const
QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6) const
QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7) const
QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8) const
QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8, const QString &a9) const

基本使用

  • 使用%1-%99佔位符來組合數據,每個%?對應一個arg(...),最多能夠添加到%99
QString str = QString("%1+%2=?").arg(1.1).arg(10.1);
qDebug() << str;
輸出:1.1+10.1=?
  • 能夠不按順序填充數據:
QString str = QString("%2+%1=?").arg(1.1).arg(10.1);
qDebug() << str;
輸出:10.1+1.1=?
  • 固然你還能夠重複使用%1-%99
QString str = QString("%2+%1=%1+%2").arg(1.1).arg(10.1);
qDebug() << str;
輸出:"10.1+1.1=1.1+10.1"
  • 若是填充的是都是QString類型數據,還能夠合併在一個arg寫但最多9個參數
QString str = QString("%1 %2 %3").arg("Hello", "world", "!!!"); /* 這裏的字符串隱式轉換爲QString了 */
qDebug() << str;
輸出:"Hello world !!!"

進階

  • 附加指定的填充數據:
QString arg(const QString &a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) const
  1. a:須要填充的數據
  2. fieldWidth:若是是正值,則fillChar字符依附在a的前面fieldWidth次;若是爲負值,則fillChar字符依附在a的後面fieldWidth次。
  3. fillChar:依附在a前/後的字符。

  例:ui

qDebug() << QString("%1").arg("+", 5, '='); /* '='依附在'+'前5次 */
qDebug() << QString("%1").arg("+", -5, '=');/* '='依附在'+'後5次 */
輸出:
====+
+====
  • 轉換爲對應進制的QString:
QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
  1. a:須要填充的整型數據。
  2. base:轉換目標爲2到36進制之間。

  例:code

qDebug() << QString("%1").arg(100, 0, 2); /* 轉換爲2進制 */
qDebug() << QString("%1").arg(100, 0, 16);/* 轉換爲16進制 */
輸出:
1100100
64
相關文章
相關標籤/搜索