39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import sys
|
|
from base import BaseWindow
|
|
from windows import CustomerWindow, CashierWindow, LoginWindow
|
|
from PyQt6.QtWidgets import QApplication
|
|
from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject
|
|
|
|
|
|
class Composer(QObject):
|
|
render_request = pyqtSignal(str)
|
|
|
|
def __init__(self,
|
|
app: QApplication
|
|
):
|
|
super().__init__()
|
|
|
|
self._app = app
|
|
self._entry = LoginWindow("Окно Авторизации", "", self)
|
|
self._current = None
|
|
|
|
self.render_request.connect(self._render)
|
|
|
|
def run(self):
|
|
self._current = self._entry
|
|
self._current.show()
|
|
sys.exit(self._app.exec())
|
|
|
|
@pyqtSlot(str)
|
|
def _render(self, user: str):
|
|
if self._current:
|
|
self._current.close()
|
|
|
|
match user:
|
|
case "Покупатель":
|
|
window = CustomerWindow("Покупатель", user, self)
|
|
case "Кассир":
|
|
window = CashierWindow("Кассир", user, self)
|
|
|
|
self._current = window
|
|
self._current.show()
|