From 83dcf9f2a2b49f93d82a171cd57ee384dbe56c5c Mon Sep 17 00:00:00 2001 From: Filippo Lizzi Date: Fri, 26 May 2023 20:47:42 +0200 Subject: [PATCH] Added word's entry, centered the window and the word_entry accepts only numbers --- main.py | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/main.py b/main.py index 0ff6d45..9ce2c90 100644 --- a/main.py +++ b/main.py @@ -1,18 +1,32 @@ from tkinter import * from random import randint +import screeninfo + +screenWidth = screeninfo.get_monitors()[0].width +screenHeight = screeninfo.get_monitors()[0].height root = Tk() -root.geometry("500x300") +root.geometry(f"500x450+{int(screenWidth/2-500/2)}+{int(screenHeight/2-450/2)}") +root.title("Password generator") +root.resizable(False, False) def new_rand(): pw_entry.delete(0, END) - pw_length = int(my_entry.get()) + + try: + pw_length = int(characters_entry.get()) + except: + characters_entry.delete(0, END) + characters_entry.insert(0, "Only numbers") + + return + my_password = '' for x in range(pw_length): my_password += chr(randint(33,126)) - pw_entry.insert(0, my_password) + pw_entry.insert(0, word_entry.get() + my_password) def clipper(): root.clipboard_clear() @@ -21,8 +35,14 @@ def clipper(): lf = LabelFrame(root, text="How Many Characters?") lf.pack(pady=20) -my_entry = Entry(lf, font=("Helvetica", 24)) -my_entry.pack(pady=20, padx=20) +characters_entry = Entry(lf, font=("Helvetica", 24)) +characters_entry.pack(pady=20, padx=20) + +word_lf = LabelFrame(root, text="Write a Word") +word_lf.pack(pady=20) + +word_entry = Entry(word_lf, font=("Helvetica", 24)) +word_entry.pack(pady=20, padx=20) pw_entry = Entry(root, text='', font=("Helvetica", 24), bd=0, bg="systembuttonface") pw_entry.pack(pady=20)