1.关于foreach关键字:
foreach(variables ,container)关键字是Qt对c++的一个扩展,主要用于按顺序历经容器(container)中的对象,例如:
QLinkList<QString> list;
QString str;
foreach(str , list){
qDebug()<<str;
}
这样就可以历经list里存储的对象了,它的作用相当于标准C++中的iterator
QLinkList<QString> list;
QLinkListIterator<QString> i(list);
while(i.hasNext()) {
qDebug()<<i.next();
}
2.关于QTextCodec对象:
该对象主要用于非Unicode编码数据与Unicode编码数据之间的转换,例如:
假设现在有一个采用俄国的KOI8-R编码格式的字符串encodedString,现在将它转换成Unicode
QByteArray encodedString = "Hello";
QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
QString string = codec->toUnicode(encodedString);
上述操作完成后,string里存储的就是Unicode编码的字符串了
相反的过程:
QTextCodec *codec = QTextCodec::codecForName("UTP-8");
QByteArray encodedString = codec->fromUnicode(string);
操作完成后,encodedStirng里存储的就是从Unicode转换来的UTF-8编码的字符串了