宽禁带半导体 计算机基础知识 leetcodeLCP 循环 SQLMAP 劝酒文化 redux jar joomla upload axios db2 vue实现原理 jq获取元素 linux查看mysql进程 oracle取第一条数据 java手机验证码 pcm接口 mysql获取当前时间戳 css鼠标悬浮样式 python正则匹配中文 python迭代 python3正则表达式 python基础练习 java开发环境 java实现接口 java重写和重载 怎么看java版本 vs2010sp1 字幕制作软件哪个好 iphone滚动截屏 js格式化时间 华为一键root工具 php取整函数 摩斯密码翻译器 小洛快跑 foobar2000插件 海蜘蛛软路由 360越狱版 ps画笔工具变成十字
当前位置: 首页 > 学习教程  > 编程语言

qt-02-QString

2020/8/11 18:45:32 文章标签:

1.格式化字符串

QString str1 = "";
str1.sprintf("你好,我叫%s,今年%d岁了!","发如雪",18);
qDebug()<<str1.toUtf8().data();

2.QString 转 char*

 QString str2 = "发如雪是最好的!";
 char *ptr = str2.toUtf8().data();
 char bufp[64] = {0};
 strcpy(bufp,ptr);
 qDebug()<<bufp;

3.char * 转QString

  char *ppp = "我是爸爸!";
  QString str3(ppp);
  QMessageBox::information(this,"提示",str3);

4.去掉空格

 QString str4 = "    我是    你    爸   爸!";
 //trimmed() 去掉字符串首尾的空格
 QString strtemp = str4.trimmed();
 qDebug()<<strtemp.toUtf8().data();
 //simplified() 不仅去掉首尾的空格,中间连续的空格也用一个空格替换
 strtemp = str4.simplified();
 qDebug()<<strtemp.toUtf8().data();

5.字符长度
count()、size() 和 length() 都返回字符串的字符个数,这 3 个函数是相同的,但是要注意,
//字符串中如果有汉字,一个汉字算一个字符
QString str5 = “我是发如雪,I Love You!”;
qDebug()<<“str5 length:”<<str5.length();//17
6.查找字符串

    indexOf() 函数的原型为:
    int indexOf (const QString &str, int from = 0 , Qt::CaseSensitivity cs = Qt::CaseSensitive) const
    其功能是在自身字符串内查找参数字符串 str 出现的位置,参数 from 是幵始查找的位置,Qt::CaseSensitivity cs 参数指定是否区分大小写。
    lastIndexOf() 函数则是查找某个字符串最后出现的位置。
 	QString str1="G:\Qt5Book\QT5.9Study\qw.cpp";
    N=str1.indexOf("5.9");  // N=13
    N=str1.lastIndexOf("\\"); //N=21
    提示,"\" 是转义字符,如果要查找 "\",需要输入 "\\"。
   
    QString str6="I Love C++!";
    int npos = str6.indexOf("Lo",0);
    if(npos == -1)
    {

        qDebug()<<"not find it";
    }
    else
    {
        qDebug()<<npos;
    }

7. contains()
//判断字符串内是否包含某个字符串,可指定是否区分大小写。

	QString str7="G:\Qt5Book\QT5.9Study\qw.cpp";
    bool ret =str7.contains (".cpp", Qt::CaseInsensitive) ; // ret=true,不区分大小写
    qDebug()<<ret;
    ret=str7.contains (".CPP", Qt::CaseSensitive) ;  // ret=false,区分大小写
    qDebug()<<ret;

8.endsWith() 和 startsWith()
startsWith() 判断是否以某个字符串幵头,
endsWith() 判断是否以某个字符串结束。

QString str8="MG:\Qt5Book\QT5.9Study\qw.cpp";
bool N=str8.endsWith (".cpp", Qt::CaseInsensitive) ; // N=true,不区分大小写
N=str8.endsWith (".CPP", Qt::CaseSensitive) ; // N=false,区分大小写
N=str8.startsWith ("g: ") ; // N=true,缺省为不区分大小写

9.left() 和 right()
left 表示从字符串中取左边多少个字符,right 表示从字符串中取右边多少个字符。注意,一个汉字被当作一个字符。

QString str9="学生姓名,男,1984-3-4,汉族,山东";
N=str9.indexOf (",") ; // N=4,第一个","出现的位置
strtemp=str9.left (N) ; //str2="学生姓名"
N=str9.lastIndexOf (",") ; // N=18,最后一个逗号的位置
strtemp=str9.right (str9.size()-N-1); //str2=”山东",提取最后一个逗号之后的字符串

10.数字转QString,QString::number()

int n = 100;
QString str10 = QString::number(n);
QMessageBox::information(this,"提示",str10);
float f = 1000.99;

str10 = QString::number(f);
QMessageBox::information(this,"提示",str10);

11.QString 转数字
QString 类从字符串转换为整数的函数有:

int toInt(bool * ok = Q_NULLPTR, int base = 10) const
long toLong (bool * ok = Q_NULLPTR, int base = 10) const
short toShort (bool * ok = Q_NULLPTR, int base = 10) const
uint toUInt (bool *ok = Q_NULLPTR, int base = 10) const
ulong toULong (bool *ok = Q_NULLPTR, int base = 10) const

QString 将字符串转换为浮点数的函数有:

double toDouble(bool *ok = Q_NULLPTR) const
float toFloat (bool * ok = Q_NULLPTR) const

本文链接: http://www.dtmao.cc/news_show_100012.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?