QStringList Class Reference
[QtCore module]
该类提供一个string列表
#include
继承从QList
注意:该类的所有函数都是重载的。
公共函数:.
QStringList () QStringList ( const QString & str ) 
QStringList ( const QStringList & other ) QStringList (
const QList & other )bool contains ( const
QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive )
const
QStringList filter ( const QString & str,
Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
QStringList filter ( const QRegExp & rx ) constint 
indexOf ( const QRegExp & rx, int from = 0 ) const
int indexOf ( const QString & value, int from = 0 ) const
int indexOf ( QRegExp & rx, int from = 0 ) constQString 
join ( const QString & separator ) constint lastIndexOf (
const QRegExp & rx, int from = -1 ) const
int lastIndexOf ( const QString & value, int from = -1 )
const
int lastIndexOf ( QRegExp & rx, int from = -1 ) const
int removeDuplicates ()QStringList & 
replaceInStrings ( const QString & before, const QString &
after, Qt::CaseSensitivity cs = Qt::CaseSensitive )
QStringList & replaceInStrings ( const QRegExp & rx, const
QString & after )
void sort ()QStringList operator+ ( const QStringList
& other ) constQStringList & operator<< ( const QString &
str )QStringList & operator<< ( const QStringList &
other )65个公共函数继承从QList
相关的非成员:
typedef QMutableStringListIteratortypedef 
QStringListIteratorQDataStream & operator<< (
QDataStream & out, const QStringList & list )
QDataStream & operator>> ( QDataStream & in, QStringList &
list )
其他的继承的成员
3个静态公共成员继承从QList
详细描述:
该类继承从QList。像QList,QStringList是无保留的共享
的。它提供快速的基于index的插入,移走,进出。传递string lists
作为值参数既快速又安全。
所有的QList的函数也支持QStringList。例如,你能使用isEmpty()
来测试list是否为空。你能调用函数像append()、prepend()、
insert()、replace()、removeAll()、removeAt(),
removeFirst()、removeLast(),removeOne()来更改一个
QStringList。此外,QStringList提供一些方便的函数来处理string
list 更容易些。
添加strings
strings能被添加到一个list使用append(),operator+=()和
operator<<()函数。例如:
QStringList fonts;
     fonts << "Arial" << "Helvetica" << "Times" << "Courier";
调用strings
你可以使用index位置调用,或者QList的java-style和STL-style风格

Index
  for (int i = 0; i < fonts.size(); ++i)
          cout << fonts.at(i).toLocal8Bit().constData() <<
endl;
Java-style iterator:
  QStringListIterator javaStyleIterator(fonts);
     while (javaStyleIterator.hasNext())
          cout << javaStyleIterator.next().toLocal8Bit
().constData() << endl;
STL-style iterator:
QStringList::const_iterator constIterator;
     for (constIterator = fonts.constBegin(); constIterator
!= fonts.constEnd();
            ++constIterator)
         cout << (*constIterator).toLocal8Bit().constData()
<< endl;
QStringListlterator类是简单的一个类型定义为
QListlterator。。QStringList也提供
QMutableStringListlterator类,它是一个类型定义为
QMutableListlterator.
处理strings
QStringList提供一些函数,允许你来操作list 的内容。你能连接所
有的string变为一个string使用join()函数。例如:
QString str = fonts.join(",");
      // str == "Arial,Helvetica,Times,Courier"
为了打散一个string,使用QString::split()
  QStringList list;
     list = str.split(",");
      // list: ["Arial", "Helvetica", "Times", "Courier"]
打散的语句能是一个单个字符,一个字符串,或者一个QRegExp
此外,operator+()函数云系你里阿杰两个string变为一个。为了分类
一个string list,使用sort()
QString list提供filter()函数,它让你提取一个新的list,它包
含只是那些strings,它包含一个特别的substring或者一个特别的合
乎规定的表达。
QStringList monospacedFonts = fonts.filter(QRegExp
("Courier|Fixed"));
Contains()函数告诉你是否list包含一个被给的string。当indexof(
)函数返回第一个被给字符串的index时。lastIndexOf()函数在另
一面,返回最后一个string的index。
最后,replaceInStrings()函数轮流调用QString::replace()
的每一个字符串。例如
QStringList files;
     files << "$QTDIR/src/moc/moc.y"
           << "$QTDIR/src/moc/moc.l"
           << "$QTDIR/include/qconfig.h";
     files.replaceInStrings("$QTDIR", "/usr/lib/qt");
     // files: [ "/usr/lib/qt/src/moc/moc.y", ...]
成员函数文件
QStringList::QStringList ()
构造一个空的string list
QStringList::QStringList ( const QString & str )
构造一个string list包含被给的字符串。
QStringList longerList = (QStringList() << str1 << str2 <<
str3);
QStringList::QStringList ( const QStringList & other )
构造一个其他string  list 的拷贝
这个操作像 constant  time。因为QStringList是毫无保留的共享。
QStringList::QStringList ( const QList & other )
同上。
bool QStringList::contains ( const QString & str,
Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
如果list包含str返回true,否则返回false。这个search是迟钝的,
如果cs是Qt::CaseInsensitive;默认是敏感的。
QStringList QStringList::filter ( const QString & str,
Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
返回一个list 包含str。
如果cs是Qt::CaseSensitive(缺省的),字符串比较是敏感的。否
则比较式不敏感的。
QStringList list;
     list << "Bill Murray" << "John Doe" << "Bill Clinton";
     QStringList result;
     result = list.filter("Bill");
     // result: ["Bill Murray", "Bill Clinton"]
同样的
QStringList result;
     foreach (QString str, list) {
         if (str.contains("Bill"))
             result += str;
     }
QStringList QStringList::filter ( const QRegExp & rx ) const
这是一个重载函数。
返回一个列表满足rx。
int QStringList::indexOf ( const QRegExp & rx, int from = 0 )
const
返回第一个满足rx的index位置,否则返回-1
缺省函数是敏感的
int QStringList::indexOf ( const QString & value, int from =
0 ) const
同上
int QStringList::indexOf ( QRegExp & rx, int from = 0 ) const
同上
QString QStringList::join ( const QString & separator ) const
连接所有的string变为单个的一个string
int QStringList::lastIndexOf ( const QRegExp & rx, int from =
-1 ) const
返回满足rx的最后一个string的index位置。如果form为-1,从后往前
搜索。没有满足的则返回-1.
int QStringList::lastIndexOf ( const QString & value, int
from = -1 ) const
同上
int QStringList::lastIndexOf ( QRegExp & rx, int from = -1 )
const
同上
int QStringList::removeDuplicates ()
移走复制条目。
QStringList & QStringList::replaceInStrings ( const QString &
before, const QString & after,Qt::CaseSensitivity cs =
Qt::CaseSensitive )
返回一个string list ,当每一个string已经把before的内容替换为
after的内容。
QStringList list;
     list << "alpha" << "beta" << "gamma" << "epsilon";
     list.replaceInStrings("a", "o");
     // list == ["olpho", "beto", "gommo", "epsilon"]
QStringList & QStringList::replaceInStrings ( const QRegExp &
rx, const QString & after )
例如;
QStringList list;
     list << "alpha" << "beta" << "gamma" << "epsilon";
     list.replaceInStrings(QRegExp("^a"), "o");
     // list == ["olpha", "beta", "gamma", "epsilon"]
例如:
QStringList list;
     list << "Bill Clinton" << "Murray, Bill";
     list.replaceInStrings(QRegExp("^(.*), (.*)$"), " \\2
\\1");
     // list == ["Bill Clinton", "Bill Murray"]
void QStringList::sort ()
排序字符串,按照升序。
QStringList QStringList::operator+ ( const QStringList &
other ) const
QStringList & QStringList::operator<< ( const QString & str )
QStringList & QStringList::operator<< ( const QStringList &
other )
相关的非成员:
typedef QMutableStringListIterator
typedef QStringListIterator