QString常用成员函数

时间:2023-01-31 18:57:23

整理了一下QString的常用成员函数,被其丰富的功能惊呆了,Qt果然强大,以下是常用的一些函数。 整理在此,以备查阅。

  QString str1,str2;
//====================================================================
//拼接
//后拼接
str1.append(str2);//把str2加到str1后面
//前拼接
str1.prepend(str2);//把str2加到str1前面
//从中间插入
QString str = "Meal";
str.insert(1, QString("ontr"));// str == "Montreal"
//====================================================================
//截取
//左截取
QString x = "Pineapple";
QString y = x.left(4); // y == "Pine"
//右截取
QString x = "Pineapple";
QString y=x.right(5); //y==apple
//从中间截取
str1.mid(1,2)//从索引1开始,截取两个字符
//===================================================================
//截取或填充
QString s = "apple";
QString t = s.leftJustified(8, '.'); // t == "apple..."
//====================================================================
//删除
//尾删
QString str("LOGOUT\r\n");//从尾部删除n个字符,返回剩余字符
str.chop(2);// str == "LOGOUT"
//头删
QString str("LOGOUT\r\n");//从尾部删除n个字符,返回剩余字符
str.right(2);// str == "GOUT\r\n"
//从中间删
QString s = "Montreal";
s.remove(1, 4); // s == "Meal"
//===================================================================
//清空
QString s = "apple";
s.clear(); //s==""
//===================================================================
//填充
QString str = "Berlin";
str.fill('z'); // str == "zzzzzz"
str.fill('A', 2);// str == "AA"
//===================================================================
//替换
QString x = "Say yes!";
QString y = "no";
x.replace(4, 3, y); // x == "Say no!"
//===================================================================
//重复
QString str("ab");
str.repeated(4); // returns "abababab"
//===================================================================
//字符数
int nToalLenth = string.size();
//===================================================================
//索引值
int nIndex = string.indexOf("****");
//===================================================================
//以指定字符串为分割符,进行分割
//返回一个或多个分割后的值
QString str;
QString csv = "forename,middlename,surname,phone";
QString path = "/usr/local/bin/myapp"; // First field is empty
QString::SectionFlag flag = QString::SectionSkipEmpty;

str = csv.section(',', 2, 2); // str == "surname"
str = path.section('/', 3, 4); // str == "bin/myapp"
str = path.section('/', 3, 3, flag); // str == "myapp"
//如果索引值是负数,则从右到左取值
str = csv.section(',', -3, -2); // str == "middlename,surname"
str = path.section('/', -1); // str == "myapp"
//返回QStringList
QString str = "a,,b,c";
QStringList list1 = str.split(',');
// list1: [ "a", "", "b", "c" ]
QStringList list2 = str.split(',', QString::SkipEmptyParts);
// list2: [ "a", "b", "c" ]
//运用split 将字符竖向排列
QString strText = QStringLiteral("一去二三里,烟村四五家。");
pLabel->setText(strText.split("", QString::SkipEmptyParts).join("\n"));
pLabel->setAlignment(Qt::AlignCenter);
//===================================================================
//去除全部witeSpace符号:'\t', '\n', '\v', '\f', '\r', and ' '.
QString str = " lots\t of\nwhitespace\r\n ";
str = str.simplified(); // str == "lots of whitespace";
//去除首尾whiteSpace符号
QString str = " lots\t of\nwhitespace\r\n ";
str = str.trimmed(); // str == "lots\t of\nwhitespace"