Qt 6 + C++ desktop application for building a piecewise linear approximation from measured data.
The current app is shipped as Piecewise Linear Fit Studio and supports:
- CSV import
- manual point generation
- editable point tables
- piecewise linear analysis
- residual review charts
- code export for PLC, Python, C++, JavaScript, Java, and C#
flowchart LR
A[CSV or Manual Input] --> B[PointTableModel]
B --> C[SegmentFitService]
C --> D[Segment results]
D --> E[Charts in QML]
D --> F[CodeExportService]
F --> G[PLC and code output]
Full project documentation is available in:
docs/index.mdfor the main documentation home
Serve the docs locally with:
pip install -r requirements-docs.txt
python -m mkdocs serveMermaid diagrams are already enabled in the docs site through the MkDocs configuration.
It covers:
- architecture
- backend file reference
- QML file reference
- data flow
- segmentation algorithm
- mathematical background
- chart generation
- export behavior
- relationship with the legacy notebook
The most important views are shown below.
For the full screenshot gallery, see docs/screenshots.md.
Open CMakeLists.txt, not .pro or .pyproject.
C:\Qt\6.10.2\llvm-mingw_64\bin\qt-cmake.bat -S . -B build-cpp-qt -G Ninja -DCMAKE_MAKE_PROGRAM=C:/Qt/Tools/Ninja/ninja.exe -DCMAKE_CXX_COMPILER=C:/Qt/Tools/llvm-mingw1706_64/bin/clang++.exe
C:\Qt\Tools\Ninja\ninja.exe -C build-cpp-qt
C:\Qt\6.10.2\llvm-mingw_64\bin\windeployqt.exe --qmldir qml build-cpp-qt\piecewise-linear-fit.exeExpected executable:
build-cpp-qt/piecewise-linear-fit.exe
src/: C++ backendqml/: Qt Quick UIfiles/: sample CSV files and the legacy notebookdocs/: project documentation
files/data1_length.csvfiles/data2_length.csvfiles/segmented_linear_fit.ipynb


