从qtextedit中读取多个值,并将它们作为不同的数字

read multiple values from qtextedit and take them as distinct numbers

本文关键字:数字 读取 qtextedit      更新时间:2023-10-16

我想从QTextEdit中读取4个值,并将它们作为4个不同的值。例如,我插入-0.69995284 0.69995284 0.14188747 0.56378639,并希望它们作为

float Value1 = -0.69995284 float Value2 = 0.69995284 float Value3 = 0.14188747 float Value4 = 0.56378639

我从这个开始:

QString textEditValue = ui->myTextEdit->toPlainText() QStringList lines = textEditValue .split(" ");

但我不知道我必须做些什么才能获得不同的价值观。

假设您的拆分如您所愿(即每个数字一个字符串)

QVector<float> values;
int size = lines.size(); 
for(int i=0; i < size; i++)
{
  bool ok=false;
  float value = lines.at(i).toFloat(&ok);
  if(ok)
   values.push_back(value);
}

值现在包含浮动。

QStringListQString s的容器。假设split正确地用值填充了lines中的每个元素,则应使用迭代器语法,并使用copy将这些值移动到vector:中

vector<float> Values(lines.size());
copy(lines.cbegin(), lines.cend(), Values.begin(), [](const auto& i){ return i.toFloat(); });