美文网首页Qt
QString之arg

QString之arg

作者: Qt君 | 来源:发表于2020-01-07 23:53 被阅读0次

    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前/后的字符。

      例:

    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进制之间。

      例:

    qDebug() << QString("%1").arg(100, 0, 2); /* 转换为2进制 */
    qDebug() << QString("%1").arg(100, 0, 16);/* 转换为16进制 */
    输出:
    1100100
    64
    

    相关文章

      网友评论

        本文标题:QString之arg

        本文链接:https://www.haomeiwen.com/subject/bihjactx.html