A professional Qt6-based desktop application framework that provides a robust foundation for building modern, feature-rich GUI applications in Python. This framework emphasizes modularity, extensibility, and modern UI/UX practices.
- Dynamic Theme System
- Light/Dark mode with runtime switching
- Custom theme creation and import
- Windows 11 dark mode integration
- Theme persistence across sessions
- Modular Design
- Component-based architecture
- Plugin system for extensions
- Clean separation of concerns
- Event-driven patterns
-
Configuration Management
- Multi-tier configuration system
- User settings persistence
- Module enablement control
- Runtime configuration updates
-
Error Handling & Logging
- Comprehensive exception management
- Rotating log files
- Detailed debug logging
- User-friendly error dialogs
-
Database Integration
- SQLite database with ORM
- Automated schema management
- Transaction support
- Data validation
-
Modern Menu System
- Icon-based menu items
- Keyboard shortcuts
- Status tips
- Customizable layout
-
Toolbar & Status Bar
- Configurable toolbar actions
- Live status updates
- Progress indicators
- System notifications
- Python 3.8+
- Git
- pip
pip install git+https://github.com/elirancv/PyQt6ify-Pro.git
-
Clone the repository:
git clone https://github.com/elirancv/PyQt6ify-Pro.git cd PyQt6ify-Pro
-
Create and activate a virtual environment:
python -m venv venv # Windows venv\Scripts\activate # Unix/MacOS source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
PyQt6ify-Pro/
βββ modules/ # Core application modules
β βββ about/ # About dialog
β βββ config/ # Configuration system
β βββ core/ # Core application logic
β βββ dashboard/ # Main UI dashboard
β βββ database/ # Database operations
β βββ error_handling/ # Error management
β βββ menu/ # Menu system
β βββ resources/ # Resource management
β βββ status_bar/ # Status bar
β βββ themes/ # Theme engine
β βββ toolbar/ # Toolbar system
βββ docs/ # Documentation
βββ extensions/ # Extension modules
βββ logs/ # Application logs
βββ resources/ # Application resources
β βββ icons/ # UI icons
βββ tests/ # Test suite
β βββ about/ # About module tests
β βββ config/ # Configuration tests
β βββ core/ # Core module tests
β βββ ... # Other module tests
βββ main.py # Application entry
βββ requirements.txt # Dependencies
βββ LICENSE.md # License
Located in modules/config/config.py
:
{
'Application': {
'Name': 'PyQt6ify Pro',
'Version': '1.0.0',
'Debug': 'False'
},
'Modules': {
'logging': 'True',
'database': 'True',
'menu': 'True',
'toolbar': 'True',
'status_bar': 'True'
}
}
Stored in modules/config/config.py
:
[Window]
theme = dark
start_maximized = true
screen_width = 1024
screen_height = 768
[Features]
auto_save = true
Run the test suite:
# Run all tests with coverage
python -m pytest tests/ --cov=modules
# Run specific module tests
pytest tests/config/
pytest tests/themes/
- Light Theme (Default)
- Dark Theme
- System Theme (Windows 11)
Create custom themes using JSON:
{
"theme_name": {
"window": {
"background": "#FFFFFF",
"foreground": "#000000"
},
"accent": "#0078D4"
}
}
Comprehensive documentation is available in the docs/
directory:
- API Reference
- Component Guide
- Theme Customization
- Extension Development
Please read our Contributing Guidelines before making a pull request.
Click to expand contribution workflow
- Fork the repository
- Create your feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
This project is licensed under the MIT License - see LICENSE.md for details.
- PyQt6 - The Qt framework for Python
- Riverbank Computing - Developers of PyQt
- π Documentation
- π Issue Tracker
- π‘ Feature Requests
- π Project Board