最近在生产中很多地方需要用到QString这个类,相当于C++中STL的String,两个用法相近;我下面会按照官方文档的说明,总结我遇到的有关QString的问题。可能会不定期进行填充。
目录
1. QString() / QString(const QChar * unicode,int size)
2. append(const QString & str)
3. arg(const QString & a,int fieldWidth = 0,const QChar & fillChar = QLatin1Char('')) const
6. prepend(const QString & str)
7. contains(const QString & str,Qt::CaseSensitivity cs=Qt::CaseSensitive) const
8. count(const QString & str,Qt::CaseSensitivity cs=Qt::CaseSensitive) const
9. insert(int position,const QString & str)
10. indexOf(const QString & str,int from = 0,Qt::CaseSensitivity cs=Qt::CaseSensitive) const
13. remove(int position,int n)
15. fromStdString(const std::wstring & str) [static]
QString简介
在官方文档的翻译中,QString类提供了一种以Unicode编码的字符串。QString存储了一串16位的QChar,其中每个QChar对应到的是一个Unicode4.0的字符(Unicode编码值大于65536的值需要两个连续的QChar来存储(使用代理对存储))。
这里我们可以把QString理解为string一样的字符串即可。
QString类成员函数(常用)
这里只做一部分的函数总结,由于有一部分函数需要在不同场合重载使用,而且应用率并不高,这里不做总结。
1. QString() / QString(const QChar * unicode,int size)
QString()函数是QString类的构造函数,负责初始化一个空字符串。
QString(const QChar * unicode,int size)函数是构造一个使用QChar数组的字符串。
2. append(const QString & str)
append函数将一个字符串添加到这个这个字符串的末尾。
3. arg(const QString & a,int fieldWidth = 0,const QChar & fillChar = QLatin1Char('')) const
返回字符串此字符串编号最低的位置标记的副本替换一个,这个用法就是将QString中的‘%1’,’%2‘...替换成arg中的副本。fieldWidth指定参数a占用的最小空间。如果a所需的空间小于fieldWidth,则使用字符fillChar将其填充到fieldWidth。正的fieldWidth生成右对齐的文本。负的fieldWidth会产生左对齐的文本。
与应用sprintf()相比,使用arg()的优点就是如果将应用程序的字符串翻译成其他语言,则可以更改编号的位置标记顺序,但是无论如何,每个arg()仍将替换编号最小的尚未替换的位置。另外如果一个位置标记%i在字符串中出现多次,那么arg()会替换所有的标记。
4. at(int position) const
返回这个字符串index位置处的字符。这个位置必须是有效的位置在当前字符串中。这个用法也看了[]。