- import tkinter as tk
- from tkinter import messagebox
- import random
- import string
- class AplikacjaPracownika(tk.Tk):
- def __init__(self):
- super().__init__()
- self.title("Dodaj pracownika")
- self.geometry("600x300")
- self.configure(bg="#B0C4DE")
- self.ramka_pracownika = tk.LabelFrame(self, bg="#B0C4DE", padx=10, pady=10, text="Dodaj Pracownika")
- self.ramka_pracownika.grid(row=0, column=0, padx=10, pady=10)
- self.nazwa_label = tk.Label(self.ramka_pracownika, text="Imię:", bg="#B0C4DE")
- self.nazwa_label.grid(row=0, column=0, sticky="w")
- self.nazwa_entry = tk.Entry(self.ramka_pracownika)
- self.nazwa_entry.grid(row=0, column=1)
- self.nazwisko_label = tk.Label(self.ramka_pracownika, text="Nazwisko:", bg="#B0C4DE")
- self.nazwisko_label.grid(row=1, column=0, sticky="w")
- self.nazwisko_entry = tk.Entry(self.ramka_pracownika)
- self.nazwisko_entry.grid(row=1, column=1)
- self.stanowisko_label = tk.Label(self.ramka_pracownika, text="Stanowisko:", bg="#B0C4DE")
- self.stanowisko_label.grid(row=2, column=0, sticky="w")
- self.stanowisko_var = tk.StringVar()
- self.stanowisko_combobox = tk.OptionMenu(self.ramka_pracownika, self.stanowisko_var, "Kierownik", "Starszy programista", "Młodszy programista", "Tester")
- self.stanowisko_combobox.grid(row=2, column=1, sticky="ew")
- self.ramka_hasla = tk.LabelFrame(self, bg="#B0C4DE", padx=10, pady=10, text="Generowanie hasła")
- self.ramka_hasla.grid(row=0, column=1, padx=10, pady=10)
- self.dlugosc_hasla_label = tk.Label(self.ramka_hasla, text="Ile znaków?", bg="#B0C4DE")
- self.dlugosc_hasla_label.grid(row=0, column=0, sticky="w")
- self.dlugosc_hasla_entry = tk.Entry(self.ramka_hasla)
- self.dlugosc_hasla_entry.grid(row=0, column=1)
- self.male_wielkie_litery_var = tk.IntVar()
- self.male_wielkie_litery_checkbox = tk.Checkbutton(self.ramka_hasla, text="Małe i wielkie litery", variable=self.male_wielkie_litery_var, bg="#B0C4DE")
- self.male_wielkie_litery_checkbox.grid(row=1, column=0, sticky="w")
- self.cyfry_var = tk.IntVar()
- self.cyfry_checkbox = tk.Checkbutton(self.ramka_hasla, text="Cyfry", variable=self.cyfry_var, bg="#B0C4DE")
- self.cyfry_checkbox.grid(row=2, column=0, sticky="w")
- self.znaki_specjalne_var = tk.IntVar()
- self.znaki_specjalne_checkbox = tk.Checkbutton(self.ramka_hasla, text="Znaki specjalne", variable=self.znaki_specjalne_var, bg="#B0C4DE")
- self.znaki_specjalne_checkbox.grid(row=3, column=0, sticky="w")
- self.generuj_haslo_button = tk.Button(self.ramka_hasla, text="Generuj hasło", command=self.generuj_haslo, bg="#4682B4", fg="white")
- self.generuj_haslo_button.grid(row=4, column=0, columnspan=2, pady=5, sticky="ew")
- self.potwierdz_button = tk.Button(self, text="Zatwierdź", command=self.pokaz_dane_pracownika, bg="#4682B4", fg="white")
- self.potwierdz_button.grid(row=1, column=0, columnspan=2, pady=10, sticky="ew")
- self.wylosowane_haslo=""
- def generuj_haslo(self):
- dlugosc = int(self.dlugosc_hasla_entry.get())
- znaki = ''
- if self.male_wielkie_litery_var.get():
- znaki += string.ascii_letters
- if self.cyfry_var.get():
- znaki += string.digits
- if self.znaki_specjalne_var.get():
- znaki += "!@#$%^&*()_+-="
- if not znaki:
- messagebox.showerror("Błąd", "Proszę wybrać przynajmniej jeden rodzaj znaków do generowania hasła.")
- return
- haslo = ''.join(random.choice(znaki) for _ in range(dlugosc))
- self.wylosowane_haslo=haslo
- messagebox.showinfo("Generowane hasło", f"Twoje hasło to: {haslo}")
- def pokaz_dane_pracownika(self):
- nazwa = self.nazwa_entry.get()
- nazwisko = self.nazwisko_entry.get()
- stanowisko = self.stanowisko_var.get()
- hasloo=self.wylosowane_haslo
- messagebox.showinfo("Dane pracownika", f"Imię: {nazwa}\nNazwisko: {nazwisko}\nStanowisko: {stanowisko} \nHaslo: {hasloo}")
- if __name__ == "__main__":
- app = AplikacjaPracownika()
- app.mainloop()