0% found this document useful (0 votes)
7 views

HTML 8

Html8

Uploaded by

anonymouszak16
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

HTML 8

Html8

Uploaded by

anonymouszak16
Copyright
© © All Rights Reserved
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