Qt QString常用

1、常用类型转化

 //Qchar数组转QString
    QChar data[5]={'h','e','l','l','o'};
    QString dataStr(data,5);
    qDebug() << dataStr;

    //QString转int float double
    QString intData("111");
    QString fdData("3.14");
    int idata = intData.toInt();
    float fdata = fdData.toFloat();
    double ddata = fdData.toDouble();
    qDebug() << idata << fdata <<ddata;

    //number转QString
    int numint = 222;
    float numfloat = 3.22f;
    double numdouble = 3.55;
    QString numSi,numSf,numSb;
        numSi = numSi.number(numint);
        numSf = numSf.number(numfloat);//方式一
        numSb = numSb.setNum(numdouble);//方式二
        qDebug() << numSi << numSf << numSb;

        //const char*QString
        const char* hi = "hello world";
        QString Sh(hi);
        qDebug() << Sh;

        //QString转QByteArray const char*
        QString setTom = "TOM";
        QByteArray toarray = setTom.toUtf8();
        const char *CTom = toarray.data();
        qDebug() << CTom;

        //QString转QdateTime
        QString Stime = "2023-02-21 18:11:21";
        QDateTime dtime = QDateTime::fromString(Stime,
                                                "YYYY-MM-DD hh:mm:ss");
        qDebug() << dtime;

        //QDateTime转QString
        QDateTime dtTime = QDateTime::currentDateTime();//获取当前时间
        QString strTime = dtTime.toString("YYYY-MM-DD hh:mm:ss");
        qDebug() << strTime;

2、常用方法

 //QSrring 拼接
    QString s = "你是";
    s+="猪";
    s.append("吗?");
    qDebug() << s;

    //QString 格式化
    QString s1,s2;
    s1.sprintf("%s%d%s","你",250,"好");
    s2.sprintf("%s%d%.2f","就",3,3.14);//f前面数字标识存小数点后几位
    qDebug() << s1<<endl;
    qDebug() << s2;

    //QString arg()组合

    QString peopel1,peopel2;
    peopel1 = QString("%1%2%3").arg("你").arg("是").arg(250);
    peopel2 = QString("%1%2%3%4").arg("就").arg(1).arg("哈哈").arg(3.33);
    qDebug() << peopel1 << endl;
    qDebug() << peopel2;

    //at(n)返回n处索引,返回值为QChar
    QString name = "pig";
    qDebug() << name.at(2);

    //insert插入字符
    QString name1 = "张三";
    QString name2 = "老";
    name1.insert(1,name2.toUtf8());
    qDebug() << name1;

    //prepend在字符串起始位置插入
    qDebug() << name1.prepend("嘿");

    //repalce替换字符(位置,替换几个,替换哪个字符)
    qDebug() << name1.replace(2,1,"小");

    //trimmed  去掉字符串两端空格
    name1 = "    "+name1+"        ";
    qDebug() << name1 << endl <<name1.trimmed();

    //去掉两端空格,空间空格以‘’代替
    QString x = "   you  is a        pig     ";
    qDebug() << x << endl << x.simplified();

    //查询字符startsWith(),endsWith(),contains()
    QString hei = "Tom how are you";
    qDebug() << hei.startsWith("Tom");//是否以这个字符开始
    qDebug() << hei.startsWith("tom",Qt::CaseInsensitive);//不区分大小写
    qDebug() << hei.startsWith("tom",Qt::CaseSensitive);//区分大小写
    qDebug() << hei.endsWith("you",Qt::CaseInsensitive);//是否以这个字符结束
    qDebug() << hei.contains("o",Qt::CaseInsensitive);//找查内容中是否有这个

    //compare() 结果0表示相等
    qDebug() << QString::compare("Tom","tom",Qt::CaseInsensitive);

    //split()分割字符串
    QString time = "2023/12/22";
    QStringList timeList = time.split("/");
    foreach (QString s, timeList) {
        qDebug() << s;
    }

    //mid() 截取字符串  (第几个开始,一共截取几个)
    QString ss = "我们是好朋友";
    qDebug() << ss.mid(3,3);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值