QStringList split() 函数和 simplifyWhiteSpace() 函数

QStringList split() function and simplifyWhiteSpace() function

我正在使用 Qt5,在 运行 我在互联网上找到的示例项目之后,这行代码存在错误。

QFile f( "world.txt" );

    if( f.open( QIODevice::ReadOnly ) )       {           
       QTextStream ts( &f );
       Vertex v[3];           
       int vcount = 0;             
       bool allok, ok;
      while( !ts.atEnd() )
        {

            QStringList line = QString::split( " ",ts.readLine().simplifyWhiteSpace() );

错误是:

split is not a member of QStringList
simplifyWhiteSpace is not a member of QString

我不知道如何将该行转换为在 Qt5 上工作。

QStringList::split()QString::simplifyWhitespace() 都是 Qt3 中的函数,并且已针对 Qt5 重命名或移动(根据您的标签使用)。

对于 QStringList::split()documentation 表示:

Use QString::split(sep, QString::SkipEmptyParts) or QString::split(sep, QString::KeepEmptyParts) instead.

Be aware that the QString::split()'s return value is a QStringList that always contains at least one element, even if str is empty.

你已经在你的编辑中改变了这个,所以你剩下 QString::simplifyWhitespace(),其中 documentation 说:

QString QString::simplifyWhiteSpace () const

Use simplified() instead.