A professional collection of Qt components and framework for Python.
Arceion Qt is a comprehensive suite of UI components and a structured framework designed to accelerate the development of desktop applications using PyQt6. It provides a robust architecture for managing views, navigation, asynchronous tasks, and API interactions.
- Structured UI Framework: Decoupled
WindowandViewarchitecture for clean application flow. - Advanced Icon System: Integrated Google Material Symbols support with customizable styles (Outlined, Rounded, Sharp).
- Asynchronous Execution: Built-in
ThreadPoolandWorkersystem for responsive UIs. - API Controller: Simplified REST API interaction with automatic retry logic and authentication support.
- ORM Integration: Ready-to-use SQLAlchemy-based database layer.
- Theming & Styles: Flexible theme management and utility functions for CSS/QSS styling.
- Logging: Integrated logging system for better debugging and monitoring.
Install Arceion Qt using pip:
pip install arceion-qt- PyQt6
- SQLAlchemy
- Requests
- Cryptography
- FontTools
from arceion.qt.core import Window, View
from PyQt6.QtWidgets import QLabel, QVBoxLayout
class MainView(View):
def onCreate(self):
layout = QVBoxLayout(self)
layout.addWidget(QLabel("Hello from Arceion Qt!"))
def onResume(self):
print("View resumed")
def onDestroy(self) -> bool:
return super().onDestroy()
def main():
import sys
from PyQt6.QtWidgets import QApplication
app = QApplication(sys.argv)
window = Window()
window.navigate(MainView)
window.show()
sys.exit(app.exec())
if __name__ == "__main__":
main()from arceion.qt.res import Icons
from PyQt6.QtWidgets import QPushButton
# Access material symbols easily
button = QPushButton()
button.setIcon(Icons.search.toPixmap(size=24, color="#FFFFFF"))from arceion.qt.thread import ThreadPool
def heavy_computation(data):
# Perform long-running task
return f"Processed {data}"
def on_finished(result):
print(f"Task result: {result}")
ThreadPool.start(heavy_computation, "my data", callback=on_finished)For full documentation, please visit the Wiki.
arceion.qt.core: Core Window and View management.arceion.qt.api: REST API client and controllers.arceion.qt.db: Database and ORM utilities.arceion.qt.res: Resource management (Icons, Themes, Colors).arceion.qt.thread: Multithreading and worker pools.arceion.qt.util: General purpose UI and stylesheet utilities.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under a Proprietary License. See pyproject.toml for more information.
Built with ❤️ by Arceion
