一.基础用法
1.创建QString对象
QString str1 = "Hello, World!";
QString str2("This is a QString object.");
//一个是等号的重载,一个是拷贝构造,本质上是等价的2.获取字符串长度
int length = str1.length(); // 返回字符串的长度3.拼接字符串
QString combinedStr = str1 + " " + str2; // 使用+操作符拼接字符串4.字符串比较
if (str1 == str2) {
    // 字符串相等
} else {
    // 字符串不相等
}5.字符串查找
int index = str1.indexOf("World"); // 查找子字符串的位置6.字符串替换
QString replacedStr = str1.replace("Hello", "Hi"); // 替换子字符串7.字符串转换
int num = 123;
QString numStr = QString::number(num); // 将整数转换为字符串8.字符串拆分
QStringList list = str2.split(" "); // 将字符串按空格拆分成字符串列表
foreach (const QString &str, list) {
    qDebug() << str;
}9.字符串转换为数字
QString numStr = "456";
int num = numStr.toInt(); // 将字符串转换为整数10.字符串转换为字符数组
QByteArray byteArray = str1.toUtf8(); // 将字符串转换为UTF-8编码的字节数组11.字符串格式化
QString formattedStr = QString("The value is %1").arg(123); // 格式化字符串二.使用QString需要注意的点
字符串的不可变性:QString是不可变的,即一旦创建了一个QString对象,就不能直接修改其内容。任何对QString对象的修改都会返回一个新的QString对象。
字符串的编码:QString默认使用UTF-16编码存储字符串,但可以通过toUtf8()、toLatin1()等方法将字符串转换为其他编码。
字符串的拷贝:当对QString对象进行操作时,会涉及到字符串的拷贝。因为QString是不可变的,任何修改操作都会创建一个新的QString对象,而不是在原对象上直接修改。
字符串的性能:在处理大量字符串时,需要注意QString的性能。频繁的字符串拼接、替换等操作可能会导致性能问题,可以考虑使用QByteArray或QTextStream等类来处理大量字符串。
字符串的比较:在比较字符串时,需要注意区分大小写或忽略大小写。可以使用QString的compare()方法来进行比较,并指定比较规则。
字符串的空值检查:在使用QString时,需要注意对空值进行检查,以避免空指针异常。可以使用isEmpty()方法来判断字符串是否为空。
字符串的转换:在将QString转换为其他类型时,需要注意转换的准确性。比如将QString转换为整数时,需要确保字符串中只包含数字字符。
字符串的拆分:在拆分字符串时,需要考虑分隔符的处理。可以使用split()方法来按照指定的分隔符拆分字符串,并注意处理可能存在的空字符串。
三.案例练习
需求:在文本框中输入一段古诗词,可以自动提取每段的第一个字符,并输入到另一个文本框中。
如图所示:
 
 
代码如下:
//先检测是否有文本
    if(ui->text_name->toPlainText().isEmpty())
    {
        QMessageBox::information(this,"提示","文本为空,请输入!");
    }else
    {
        //需求:将text里面的文本进行分割,并其每个字串的第一个字符组成一段话
        QString ret;
        QString ans=ui->text_name->toPlainText();
        //进行分割
        QStringList list=ans.split("\n");
        int count=list.count();
        for(int i=0;i<count;i++)
        {
            ret+=list[i].at(0);
        }
        //将ret输入回到lineEdit中
        ui->lineEdit->setText(ret);
    }


















