A PyQt6 mediator mixin
Project description
PyQt6 Mediator Mixin
PyQt6 Mediator Mixin
is a Python library that enhances PyQt6's signal-slot mechanism by implementing the mediator pattern. This pattern allows classes to emit and receive signals without knowing about each other, leading to more modular and maintainable code.
Key features:
- Mediator pattern implementation for PyQt6 signals.
- Ability to extend the
SignalCode
enum for custom signals.
Installation
pip install PyQt6-mediator-mixin
Usage
from PyQt6_mediator_mixin.mediator_mixin import MediatorMixin
from PyQt6_mediator_mixin.enums import SignalCode
class MyClass(MediatorMixin):
def __init__(self):
super().__init__()
self.register(SignalCode.MY_SIGNAL, self.my_slot_function)
def my_slot_function(self, data):
print("Received signal with data:", data)
def some_method(self):
self.emit(SignalCode.MY_SIGNAL, "some data")
Extending SignalCode Enum
from enum import Enum
from PyQt6_mediator_mixin.signal_code_factory import set_signal_code
class MySignalCode(Enum):
MY_SIGNAL_1 = 1
MY_SIGNAL_2 = 2
set_signal_code(MySignalCode)
Now, MyClass
can register and emit MY_SIGNAL_1
and MY_SIGNAL_2
using the MediatorMixin
.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
PyQt6-mediator-mixin-1.0.3.tar.gz
(14.3 kB
view hashes)
Built Distribution
Close
Hashes for PyQt6-mediator-mixin-1.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d07d0db7b7d756a1082a679e83966efd0c4048272b658ddd9a09d0e4f4a1a940 |
|
MD5 | 68bb2b65b22c53076c2cb99262192805 |
|
BLAKE2b-256 | 0b780ce2478e2e423475622644f6085866b48229504837be6bee64e2bd4b2ddf |
Close
Hashes for PyQt6_mediator_mixin-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 936ff9fa03d5a82a51357fa24b715bd3185249e7f08fef458e56faf457d4eafa |
|
MD5 | 429d761deb968b8e615128fdac84d4f2 |
|
BLAKE2b-256 | 35d2163fdcb17d86ba68ec6f747134bf51648338249e366a2017b69c6fd94d0f |