2016-05-17 38 views
1

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

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(" ");

,但我不知道我必须做的,以获得不同的值。

+0

迭代,并使用'的QString :: toFloat() '为每个列表成员。看看[foreach关键字](http://doc.qt.io/qt-5/containers.html#the-foreach-keyword)。 –

回答

1

假设你的分,你希望(即一个字符串,每个号码)

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); 
} 

值现在包含您的彩车工作过。

0

QStringListQString s的容器。假设您split正确填写每个元素lines用一个值,你应该使用你应该使用copy这些值移动到vector迭代器的语法:在列表

vector<float> Values(lines.size()); 

copy(lines.cbegin(), lines.cend(), Values.begin(), [](const auto& i){ return i.toFloat(); }); 
相关问题