Arceion Qt - A collection of Qt components
Project description
Arceion Qt
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.
Key Features
- 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.
Installation
Install Arceion Qt using pip:
pip install arceion-qt
Dependencies
- PyQt6
- SQLAlchemy
- Requests
- Cryptography
- FontTools
Quick Start
1. Creating a Basic Window and View
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()
2. Using Icons
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"))
3. Background Tasks
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)
Documentation
For full documentation, please visit the Wiki.
Project Structure
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.
Contributing
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
License
Distributed under a Proprietary License. See pyproject.toml for more information.
Built with ❤️ by Arceion
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arceion_qt-0.1.0.tar.gz.
File metadata
- Download URL: arceion_qt-0.1.0.tar.gz
- Upload date:
- Size: 37.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbe6daa948f2374ec2b0a8bfd134a5a1737f52275aa1d8e477dae593b9dce97e
|
|
| MD5 |
252f56ba66ce9942fb0c3cdd97c58e87
|
|
| BLAKE2b-256 |
83755fb5a72c8ade087fa19f8846ec977d9685466fe25d2a549c6121384a3399
|
File details
Details for the file arceion_qt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: arceion_qt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 38.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e235bab2b26a7b92b3840bc9702e21c9769b5b5af210fb71237a4bd7058fa7b0
|
|
| MD5 |
cb53ad2247abdad2c2c1f18a461a6b13
|
|
| BLAKE2b-256 |
b3cb6f1de4e4bbb0efc48c119dad692ec14ee97c7daaa76d9099aada01cdf688
|