2014-12-12 5 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(); 
     } 
} 

이제 내 질문은 선택한 파일의 값을 사용하여 파형을 플로팅하는 방법입니다. 일반적인 텍스트 파일 내가 텍스트 파일에서 다른 매개 변수의 값을 읽고 QT에 따라 할당 할 수 있습니다 또한 방법

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() 당신이 소수 값이 필요합니다) 그래서 난 '(INT 지수 = line.indexOf을에서 나는`입력 파일에서 주파수 값을 얻으려면

+0

은 회수'); QString key = line.left (index); QString 값 = line.mid (index + 1)' – Duanne

+0

아니요 당신이'key == QString ("Frequency")' –

+0

을 확인하지 않습니다. C++에 익숙하지 않지만 끝내려면 시간이 걸릴 것입니다. 나는 올바른 길을 가고있다. – Duanne