QT之QString QList基本用法
1、QString 基本用法
void qtstringtest()
{
int b,c,d;
QString str0="123";
QString str1="1234567890abcdefrg";
qDebug()<<str0<<" "<<str1;
//数据转换int QString to int
bool k;
b=str0.toInt(&k,10);//十进制转换
c=str0.toInt(&k,16);//16进制转换
d=str0.toInt(&k,8);//8进制转换
qDebug()<<b<<c<<d;
//字符串查找
qDebug()<<"是否包含字符"<<str1.contains("123");//结果为:true
qDebug()<<"比较字符串"<<str1.compare("123");//结果为:15
qDebug()<<"是否为空"<<str1.isEmpty();//结果为:false
qDebug()<<"查找字符串"<<str1.indexOf("567");//结果为:4
qDebug()<<"填充字符串"<<str1.fill('1',10);//结果为:填充字符串 "1111111111"
qDebug()<<"插入字符串"<<str1.insert(2,"abcdefghj");//结果为 插入字符串 "11abcdefghj11111111"
qDebug()<<"从左向右截取字符串"<<str1.left(4);//结果为:从左向右截取字符串 "11ab"
qDebug()<<"从右向左截取字符串"<<str1.right(4);//结果为:从右向左截取字符串 "1111"
qDebug()<<"中间截取字符串"<<str1.mid(4,10);//结果为:中间截取字符串 "cdefghj111"
qDebug()<<"大小写转换"<<str1.toUpper();//结果为:大小写转换 "11ABCDEFGHJ11111111"
QString str3;
str3=str1;//浅拷贝
qDebug()<<"删除中间某一个字符"<<str1.remove(1,4);//4个数 1位置 删除中间某一个字符 "1defghj11111111"
int a=123;
str0.sprintf("dat :%d",a);//int 转换为QString 结果为:"dat :123"
qDebug()<<str0;
//int float to QString
str0.setNum(12);
qDebug()<<str0;
str0.setNum(12.3244);
qDebug()<<str0;
//QString to char
QString t="1234567890";
char t1b[20];
QByteArray t2= t.toLocal8Bit();
strcpy(t1b, t2.data());
qDebug()<<t1b[0]<<t1b[1];
//char to QString
char tf[]="12345tyu";
t.sprintf("%s",tf);
qDebug()<<t;
}
运行结果:
2、QList基本用法
void testlist()
{
//QList 基本操作
list<<"aa"<<"bb"<<"cc";
testprint("1原始数据:");
list.swap(0,1);
testprint("2swap交互数据:");
list.prepend("00");
list.append("dd");
testprint("3添加数据:");
list.insert(2,"11");
list.takeAt(0);
testprint("4插入和删除数据:");
qDebug()<<"包含数据?"<<list.contains("11")<<list.contains("33");
qDebug()<<"统计"<<list.count("11")<<list.count("33")<<list.length();
qDebug()<<list.isEmpty()<<list.isDetached();
list.move(0,1);
testprint("5数据:");
list.clear();
testprint("6数据:");
}
测试结果: