1. Refactor out to separate components a lot.
2. Use the .ui.qml and .qml code behind pattern to separate UI from code.
3. Use singleton QtObjects to create abstract classes that contain any non-UX behavior.
As for graphing, the built in components work pretty well:
https://doc.qt.io/qt-5.10/qtcharts-index.html
As far as QML widgets go, they have improved greatly since they released Quick Controls 2 (a rewrite of the initial set of controls).
https://doc.qt.io/qt-5.10/qtquickcontrols2-index.html
1. Refactor out to separate components a lot.
2. Use the .ui.qml and .qml code behind pattern to separate UI from code.
3. Use singleton QtObjects to create abstract classes that contain any non-UX behavior.
As for graphing, the built in components work pretty well:
https://doc.qt.io/qt-5.10/qtcharts-index.html
As far as QML widgets go, they have improved greatly since they released Quick Controls 2 (a rewrite of the initial set of controls).
https://doc.qt.io/qt-5.10/qtquickcontrols2-index.html