https://github.com/criogenox/d-technical-railway-data-viewer-from-sqlitedb
C++ / Qt6 GUI application for managing and visualizing data from a dynamic sql table through customizable dockable windows.
https://github.com/criogenox/d-technical-railway-data-viewer-from-sqlitedb
cpp-project desktop-app gui-application qt6-application railway-app sqlite3
Last synced: 3 months ago
JSON representation
C++ / Qt6 GUI application for managing and visualizing data from a dynamic sql table through customizable dockable windows.
- Host: GitHub
- URL: https://github.com/criogenox/d-technical-railway-data-viewer-from-sqlitedb
- Owner: criogenox
- Created: 2024-10-15T02:44:18.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-11-06T04:01:40.000Z (7 months ago)
- Last Synced: 2025-01-03T00:15:41.118Z (5 months ago)
- Topics: cpp-project, desktop-app, gui-application, qt6-application, railway-app, sqlite3
- Language: C++
- Homepage:
- Size: 2.53 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![LinkedIn][linkedin-shield]][linkedin-url]
## About the project
> `C++` application providing a comprehensive graphical interface for managing and visualizing data from a dynamic sql table through customizable dockable windows.`Key Features:`
- Image viewing: it displays formats with zoom and pan capabilities.
- Dock management: create, close, and restore dock windows on demand.
- Data interaction: manipulating data directly from a SQLite database.
- Clean GUI: responsive layout adapting to multiple resize events.
:muscle: don't let anyone get you down :muscle:
## Key Methods
> Dynamic creation of dock widgets for displaying information related to a specified table.
`Functionalities:`
- Checks for existing docks with the same name to prevent duplicates.
- Restoration of closed docks to their previous geometry, while preventing the creation of new ones.> Handling view size fitting in response to several resizing events (including image initial loading).
`Functionality:`
- Updates the view/scene size to fit the new dimensions generated due to mainwindow rescaling, dock's area/size changes or splitter movements.> Overriding of several mouse events for graphical managing of loaded images.
`Functionalities:`
- Handles mouse press events to dragging and panning (warning, inverted mouse buttons).
- Focus zooming on cursor position disabling the vertical scrollbar to enhance zoom experience.
- Handles double-click events to fit the scene within the view, keeping the aspect ratio.
## Built With
![]()
![]()
![]()
![]()
### Additional info
* `Extensive` checking of instance deletion to ensure proper and effective resource management, preventing memory leaks.
* Widget `stylizing` by a modified theme based on the extremely useful original contribution [QT DarkTheme][qtdarktheme-url].## General view sample
![]()
Full functionalities in use: clickable table index, independent views with their corresponding dock info.
## TODO
- [ ] Completely populate the database.
- [ ] Logic implementation for all selection cases.
- [ ] Improve error handling.## License
Distributed under the MIT License. See [LICENSE.txt][license-url] for more information.
[linkedin-shield]: https://user-images.githubusercontent.com/53323058/230575198-fa1acbf4-8f82-4d8e-b245-3979276bc240.png
[linkedin-url]: https://www.linkedin.com/in/criogenox/
[qtdarktheme-url]: https://github.com/keshav-sahu7/qt-dark-theme
[license-url]: https://github.com/criogenox/D-Technical-Railway-Data-Viewer-from-SQLitedb/tree/main?tab=MIT-1-ov-file