0% found this document useful (0 votes)
9 views5 pages

HTML 8

Html8

Uploaded by

anonymouszak16
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views5 pages

HTML 8

Html8

Uploaded by

anonymouszak16
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

from PyQt5.

QtWidgets import QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QMessageBox,


QAction, QMainWindow, QStackedWidget, QApplication
from PyQt5 import QtWidgets, QtGui
from PyQt5.QtCore import Qt

class Accueil(QWidget):
def __init__(self):
super().__init__()
layout = QVBoxLayout(self)
label = QLabel("Bienvenue dans l'accueil")
layout.addWidget(label)

class Login(QMainWindow):
def __init__(self):
super().__init__()
# Configuration de la fenêtre
self.setWindowTitle("Gestion d'Inventaire")
self.setGeometry(125, 70, 950, 650)
self.setStyleSheet("background-color: #FF00FF;")

# Créer le widget central


self.stacked = QStackedWidget()
self.setCentralWidget(self.stacked)

# Page de connexion
self.login_page = QWidget()
self.stacked.addWidget(self.login_page)

# Cadre central pour simuler le verre


self.form_frame = QtWidgets.QFrame(self.login_page)
self.form_frame.setGeometry(175, 50, 600, 425)
self.form_frame.setStyleSheet("""
background-color: rgba(255, 255, 255, 0.5);
border-radius: 15px;
""")

# Labels et champs d'entrée


self.title = QLabel("Bienvenue sur la gestion d'inventaire", self.form_frame)
self.title.setGeometry(85, 25, 450, 50)
self.title.setFont(QtGui.QFont("Arial", 16))

self.username_input = QLineEdit(self.form_frame)
self.username_input.setGeometry(85, 100, 250, 40)
self.username_input.setPlaceholderText("Entrez le nom d'utilisateur")
self.password_input = QLineEdit(self.form_frame)
self.password_input.setGeometry(85, 160, 250, 40)
self.password_input.setPlaceholderText("Entrez le mot de passe")
self.password_input.setEchoMode(QLineEdit.Password)

self.resultat_label = QLabel("", self.form_frame)


self.resultat_label.setGeometry(85, 280, 250, 40)
self.resultat_label.setStyleSheet("color: red;")

# Bouton de connexion
self.login_button = QPushButton("Se connecter", self.form_frame)
self.login_button.setGeometry(210, 350, 120, 40)
self.login_button.clicked.connect(self.authenticate)

# Créer le menu principal


self.create_menu()

# Dictionnaire pour stocker les pages


self.pages = {}

def authenticate(self):
username = self.username_input.text()
password = self.password_input.text()
if username == "admin" and password == "admin":
# Ajouter la page d'accueil
if 'accueil' not in self.pages:
self.pages['accueil'] = Accueil()
self.stacked.addWidget(self.pages['accueil'])
self.stacked.setCurrentWidget(self.pages['accueil'])
else:
QMessageBox.warning(self, "Erreur", "Nom d'utilisateur ou mot de passe incorrect")

def create_menu(self):
menu_bar = self.menuBar()
menu = menu_bar.addMenu("Action")

self.enregistrement = QAction("Enregistrement", self)


self.enregistrement.triggered.connect(self.show_enregistrement_page)
menu.addAction(self.enregistrement)

self.stagiaire = QAction("Stagiaire", self)


self.stagiaire.triggered.connect(self.show_stagiaire_page)
menu.addAction(self.stagiaire)

self.maitre = QAction("Maitre de Stage", self)


self.maitre.triggered.connect(self.show_maitre_page)
menu.addAction(self.maitre)

self.validation = QAction("Validation", self)


self.validation.triggered.connect(self.show_validation_page)
menu.addAction(self.validation)

def show_enregistrement_page(self):
if 'enregistrement' not in self.pages:
self.pages['enregistrement'] = EnregistrementPage()
self.stacked.addWidget(self.pages['enregistrement'])
self.stacked.setCurrentWidget(self.pages['enregistrement'])

def show_stagiaire_page(self):
if 'stagiaire' not in self.pages:
self.pages['stagiaire'] = StagiairePage()
self.stacked.addWidget(self.pages['stagiaire'])
self.stacked.setCurrentWidget(self.pages['stagiaire'])

def show_maitre_page(self):
if 'maitre' not in self.pages:
self.pages['maitre'] = MaitrePage()
self.stacked.addWidget(self.pages['maitre'])
self.stacked.setCurrentWidget(self.pages['maitre'])

def show_validation_page(self):
if 'validation' not in self.pages:
self.pages['validation'] = ValidationPage()
self.stacked.addWidget(self.pages['validation'])
self.stacked.setCurrentWidget(self.pages['validation'])

class EnregistrementPage(QWidget):
def __init__(self):
super().__init__()
layout = QVBoxLayout(self)
label = QLabel("Enregistrement des informations")
layout.addWidget(label)

save_button = QPushButton("Sauvegarder")
save_button.clicked.connect(self.save_data)
layout.addWidget(save_button)

back_button = QPushButton("Retour")
back_button.clicked.connect(self.go_back)
layout.addWidget(back_button)
def save_data(self):
pass

def go_back(self):
self.parentWidget().setCurrentIndex(0) # Retour à l'accueil

class StagiairePage(QWidget):
def __init__(self):
super().__init__()
layout = QVBoxLayout(self)
label = QLabel("Liste des Stagiaires")
layout.addWidget(label)

stagiaire_button = QPushButton("Valider Stagiaire")


stagiaire_button.clicked.connect(self.save_stagiaire_info)
layout.addWidget(stagiaire_button)

back_button = QPushButton("Retour")
back_button.clicked.connect(self.go_back)
layout.addWidget(back_button)

def save_stagiaire_info(self):
pass

def go_back(self):
self.parentWidget().setCurrentIndex(0)

class MaitrePage(QWidget):
def __init__(self):
super().__init__()
layout = QVBoxLayout(self)
label = QLabel("Maitre de Stage des informations")
layout.addWidget(label)

back_button = QPushButton("Retour")
back_button.clicked.connect(self.go_back)
layout.addWidget(back_button)

def go_back(self):
self.parentWidget().setCurrentIndex(0)

class ValidationPage(QWidget):
def __init__(self):
super().__init__()
layout = QVBoxLayout(self)
label = QLabel("Validation des stagiaires")
layout.addWidget(label)

back_button = QPushButton("Retour")
back_button.clicked.connect(self.go_back)
layout.addWidget(back_button)

def go_back(self):
self.parentWidget().setCurrentIndex(0)

if __name__ == "__main__":
app = QApplication([])
main_window = Login()
main_window.show()
app.exec_()

You might also like