CSV 데이터를 활용한 그래프
Qt Graphs 에서 CSV 파일의 데이터를 시각화하는 방법.

'CSV 데이터를 사용한 그래프' 예제는 CSV 파일의 데이터를 2차원 막대 차트로 표시하는 방법을 보여줍니다. 이 애플리케이션은 타사 CSV 파서를 사용하여 CSV 파일을 읽습니다. 데이터는 QAbstractTableModel 을 상속하는 사용자 정의 모델에 삽입됩니다. 데이터가 모델에 삽입된 후, 가장 왼쪽 열에는 세로 헤더 데이터가 포함되고, 맨 위 행에는 가로 헤더 데이터가 포함됩니다.
선택한 타사 라이브러리는 Qt 리소스 시스템에 대해 전혀 알지 못하므로 파일 경로에서 CSV 파일을 불러올 수 없습니다. 따라서 소스 내용을 라이브러리에 전달하기 전에 먼저 불러와야 합니다. 이 예제의 CSV 라이브러리는 파일을 파일 경로, ` std::fstream` 또는 ` std::stringstream` 형식으로 받아들입니다. CSV 파일이 Qt 리소스에 있으므로 라이브러리는 이를 로드하는 방법을 알지 못하며, ` QFile `는 ` std::fstream`을 지원하지 않습니다. 따라서 남은 유일한 방법은 ` std::stringstream`을 사용하는 것입니다. ` QFile::readAll()`을 통해 전체 파일을 문자열로 읽어온 다음, 해당 문자열을 ` std::stringstream`로 열 수 있습니다.
애플리케이션 창에서는 테이블 뷰를 통해 모델의 데이터가 표시됩니다. 사용자는 테이블 뷰에서 데이터의 일부를 선택할 수 있으며, 선택한 데이터는 막대 그래프에 표시됩니다.
막대 시리즈는 범주 축 레이블을 수정하지 않으므로, 시리즈를 업데이트해도 축 레이블은 업데이트되지 않습니다. 이 문제는 JavaScript에서 모델의 가장 왼쪽 열에서 레이블 이름을 추출하여 처리합니다. 추출된 레이블 이름은 범주 축의 labels 속성에 설정됩니다.
function extractBarSetGategories(first, count) {
let categories = [];
const last = first + count;
for (let i = first; i < last; ++i)
categories.push(tv.model.headerData(i, Qt.Horizontal, Qt.DisplayRole) + " medals");
return categories;
}예제 실행
다음 경로에서 예제를 실행할 수 있습니다.
- Qt Creator
Welcome 모드를 열고 Examples 에서 예제를 선택하십시오. 자세한 내용은 Qt Creator: 튜토리얼: 빌드 및 실행을 참조하십시오.
- Qt Extension for Visual Studio Code
Command Palette 에서 Qt: Open Qt examples 명령을 실행하고 목록에서 예제를 선택합니다. 자세한 내용은 Qt Extension for Visual Studio Code: 튜토리얼: 빌드 및 실행을 참조하십시오.
QML 애플리케이션도 참조하십시오 .
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.