在我的代码中,我需要删除作为QStringlist DataColumns元素的QString的最后一个空格。

这就是我所拥有的:

  DataColumns[0] : "Time [ms]      "
  DataColumns[1] : "Position [m]"
  DataColumns[2] : "End Velocity [m/s]     "

这就是我想要的:
  DataColumns[0] : "Time [ms]"
  DataColumns[1] : "Position [m]"
  DataColumns[2] : "End Velocity [m/s]"

在i(DataColumn的元素)和j(DataColumn的元素的字母)的循环中,我执行以下操作,并且可以正常工作:
 QStringList dataColums;
 QString A;
 ...
 A= dataColums[i];
 A.chop(1);
 dataColums[i] = A;

但是,当我尝试将最后3行放入1个命令时,它不起作用。
dataColums[i] = dataColums[i].chop(1);

有人可以向我解释为什么吗?谢谢!

最佳答案

该函数的声明像

void QString::chop(int n);

即它的返回类型为void

所以这句话
dataColums[i] = dataColums[i].chop(1);

是无效的。看起来像
dataColums[i] = void;

要从字符串的两侧删除空格,可以使用成员函数trimmed

09-06 15:22