A Qt-based financial management and budgeting application with a ribbon-style interface.
## Overview
BudgetPro is a desktop application designed for managing company finances, budgets, products, and invoices. It features a modern ribbon interface similar to Microsoft Office applications, built using Qt Widgets and the SARibbon library.
## Key Features
- **Company Management**: Create and manage multiple companies/enterprises
- **Product Catalog**: Maintain a database of products/services with pricing
- **Third-Party Management**: Track suppliers and customers
- **Budget Planning**: Create hierarchical budgets with detailed breakdowns
- **Invoice Tracking**: Manage incoming and outgoing invoices
- **Data Visualization**: Tree views for hierarchical financial data
- **Custom Editors**: Specialized delegates for different data types (combobox, rich text, etc.)
The application uses a SQL database for persistent storage. Database initialization and schema management are handled through the `sqltable.h` interface.
## Custom Components
BudgetPro includes several custom Qt components:
-`QMTreeView`: Enhanced tree view for hierarchical data
- Custom delegates for:
- Combobox editing in tables
- Rich text rendering/editing
- Numeric input with formatting
- Item numbering in hierarchical views
- Popup tables for complex selection
-`TreeModel`: Custom model for tree-structured data
-`AvatarWidget`: For displaying user/entity avatars
## Extending the Application
To add new features:
1. Create new form classes inheriting from `formBase`
2. Design UI forms using Qt Designer (.ui files)
3. Implement data access methods using the existing DAO patterns
4. Add ribbon buttons/actions in MainWindow to access new features
5. Register new forms in the main window's workspace management
## License
This project is based on Qt examples and may be subject to Qt's licensing terms. Please check individual file headers for specific copyright and licensing information.