2014-12-12 2 views
0

Этот вопрос немного длинный и сложный. У меня есть текстовый файл, содержащий значения параметров формы волны, и вам нужно построить волну, используя эти значения. Типичная форма волны показана ниже enter image description hereНанесение данных из текстового файла

Я могу искать файлы, используя приведенный ниже код;

void MainWindow::on_SearchFiles_clicked() 
{ 
    QString fileName1 = QFileDialog::getOpenFileName(this,tr("Open Text File"), "", tr("Text Files (*.txt)")); 
     QFile file1(fileName1); 
     if(!file1.open(QIODevice::ReadOnly | QIODevice::Text)) 
      return; 

     QTextStream in(&file1); 
     while(!in.atEnd()){ 
      QString line = in.readLine(); 
     } 
} 

Теперь мой вопрос заключается в том, как построить форму волны, используя значения в выбранном файле. Типичный текстовый файл показан ниже

enter image description here

Кроме того, как я могу прочитать значения других параметров из текстового файла и присвоить их соответствующим образом в Qt. т.е. принимает значение частоты, усиление и т.д., и объявить их снова в квартах

ответ

1

заголовка легко: просто получить индекс первого : и разделение на том, что:

int index = line.indexOf(':'); 
QString key = line.left(index); 
QString value = line.mid(index+1); 

Тогда это если-то еще чтобы присвоить им правильные поля.

Образцы сами могут быть получены из line.trimmed().toInt() (или toDouble() в случае, если вам нужно десятичные значения)

+0

Так что, если я хочу, чтобы получить значение частоты из файла I типа 'в междунар индекс = line.indexOf (» Частота '); QString key = line.left (index); QString value = line.mid (index + 1) ' – Duanne

+0

Нет, вы проверяете, является ли' ключ == QString («Частота») ' –

+0

Это займет некоторое время, чтобы закончить, а не использовать для C++, но спасибо. Я на правильном пути. – Duanne