Gestion_Des_Fenetre/GestionDes.py

96 lines
3.3 KiB
Python

import customtkinter as tk # import de la bibliothèque interface graphique "as tk" : on remplace customtkinter par tk
def quitter(): # création d'une fonction pour quitter
fenetreMenu.destroy() # destroy = fonction qui arrête tout
fenetreMenu = tk.CTk() # définition des caractéristiques de la fenêtre
fenetreMenu.title("Menu principal")
fenetreMenu.geometry("400x400")
label = tk.CTkLabel(fenetreMenu, text="Lancez les dés", font=('Arial',22)) # crée du texte
label.pack(pady=5)
# label.pack(padx=10, pady=10) # padx, pady, ajoute des pixel entre widget
cadreFormatDe=tk.CTkFrame(fenetreMenu) # création d'un cadre pour facilité la disposition
cadreFormatDe.pack(side=tk.TOP, anchor=tk.CENTER, pady=10)
DicoBoutons = {} # création d'un Dico pour distingués les boutons
for i in [4, 6, 8, 10, 12, 20] :
button = tk.CTkButton(cadreFormatDe, text= f"D{i}", hover=False, width=50) # création d'un bouton
button.pack(side=tk.LEFT, padx=1, pady=1) #expand=True, fill=tk.X, anchor=tk.CENTER
DicoBoutons[i] = button
def clic4 ():
print("D4")
for i in [4, 6, 8, 10, 12, 20] :
DicoBoutons[i].configure(fg_color="blue")
DicoBoutons[4].configure(fg_color="red")
def clic6 ():
print("D6")
for i in [4, 6, 8, 10, 12, 20] :
DicoBoutons[i].configure(fg_color="blue")
DicoBoutons[6].configure(fg_color="red")
def clic8 ():
print("D8")
for i in [4, 6, 8, 10, 12, 20] :
DicoBoutons[i].configure(fg_color="blue")
DicoBoutons[8].configure(fg_color="red")
def clic10 ():
print("D10")
for i in [4, 6, 8, 10, 12, 20] :
DicoBoutons[i].configure(fg_color="blue")
DicoBoutons[10].configure(fg_color="red")
def clic12 ():
print("D12")
for i in [4, 6, 8, 10, 12, 20] :
DicoBoutons[i].configure(fg_color="blue")
DicoBoutons[12].configure(fg_color="red")
def clic20 ():
print("D20")
for i in [4, 6, 8, 10, 12, 20] :
DicoBoutons[i].configure(fg_color="blue")
DicoBoutons[20].configure(fg_color="red")
DicoBoutons[4].configure(command=clic4)
DicoBoutons[6].configure(command=clic6)
DicoBoutons[8].configure(command=clic8)
DicoBoutons[10].configure(command=clic10)
DicoBoutons[12].configure(command=clic12)
DicoBoutons[20].configure(command=clic20)
# print(DicoBoutons)
cadreNbreDe=tk.CTkFrame(fenetreMenu)
cadreNbreDe.pack(side=tk.TOP, pady=10)
label = tk.CTkLabel(cadreNbreDe, text="Nombre de dés", font=('Arial',20)) # crée du texte
label.pack(side=tk.LEFT, padx=10)
entryNbreDe = tk.CTkEntry(cadreNbreDe, width=50) # crée une zone de saisie
entryNbreDe.pack(side=tk.LEFT,padx=5)
cadreQuit=tk.CTkFrame(fenetreMenu) # création d'un cadre pour facilité la disposition
cadreQuit.pack(fill=tk.X, side=tk.BOTTOM, anchor=tk.CENTER, pady=15) # fill permet l'allongemment
button = tk.CTkButton(cadreQuit, text="QUITTER", command=quitter) # création d'un bouton pour fermer
button.pack(side=tk.BOTTOM, pady=15) # side=tk.BOTTOM est utilisé pour ancrer vers le bas : indiquer celui qui est plus bas en premier
entry = tk.CTkEntry(fenetreMenu, width=250) # crée une zone de saisie
entry.pack(side=tk.BOTTOM,)
fenetreMenu.mainloop()