-2

我正在使用 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 上工作。

4

1 回答 1

0

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

对于QStringList::split()文档说:

使用 QString::split(sep, QString::SkipEmptyParts) 或 QString::split(sep, QString::KeepEmptyParts) 代替。

请注意,QString::split() 的返回值是一个始终包含至少一个元素的 QStringList,即使 str 为空。

您已经在编辑中更改了它,因此您只剩QString::simplifyWhitespace()下 ,文档中说:

QString QString::simplifyWhiteSpace () 常量

改为使用simplified()

于 2018-07-26T08:12:25.063 回答