Init projet Photostation - borne impression photo tactile PyQt6
Structure : 4 écrans (accueil, import, éditeur, impression), navigation QStackedWidget, base éditeur QGraphicsScene. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
47
src/ui/main_window.py
Normal file
47
src/ui/main_window.py
Normal file
@@ -0,0 +1,47 @@
|
||||
"""Fenêtre principale — navigation entre les écrans."""
|
||||
|
||||
from PyQt6.QtWidgets import QMainWindow, QStackedWidget
|
||||
from PyQt6.QtCore import Qt
|
||||
from ui.screens.home_screen import HomeScreen
|
||||
from ui.screens.import_screen import ImportScreen
|
||||
from ui.screens.editor_screen import EditorScreen
|
||||
from ui.screens.print_screen import PrintScreen
|
||||
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.setWindowTitle("Photostation")
|
||||
self.setAttribute(Qt.WidgetAttribute.WA_AcceptTouchEvents, True)
|
||||
|
||||
self.stack = QStackedWidget()
|
||||
self.setCentralWidget(self.stack)
|
||||
|
||||
# Écrans
|
||||
self.home_screen = HomeScreen(self)
|
||||
self.import_screen = ImportScreen(self)
|
||||
self.editor_screen = EditorScreen(self)
|
||||
self.print_screen = PrintScreen(self)
|
||||
|
||||
self.stack.addWidget(self.home_screen) # 0
|
||||
self.stack.addWidget(self.import_screen) # 1
|
||||
self.stack.addWidget(self.editor_screen) # 2
|
||||
self.stack.addWidget(self.print_screen) # 3
|
||||
|
||||
self.show_home()
|
||||
|
||||
def show_home(self):
|
||||
self.stack.setCurrentIndex(0)
|
||||
|
||||
def show_import(self):
|
||||
self.stack.setCurrentIndex(1)
|
||||
|
||||
def show_editor(self, image_path=None):
|
||||
if image_path:
|
||||
self.editor_screen.load_image(image_path)
|
||||
self.stack.setCurrentIndex(2)
|
||||
|
||||
def show_print(self, image_path=None):
|
||||
if image_path:
|
||||
self.print_screen.set_image(image_path)
|
||||
self.stack.setCurrentIndex(3)
|
||||
Reference in New Issue
Block a user