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:
2026-03-21 18:47:56 +01:00
parent a5b02cb56a
commit 6598e4073f
12 changed files with 539 additions and 0 deletions

47
src/ui/main_window.py Normal file
View 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)