From fd823860ffb67a48a52ef4cb43b96d11e86862bb Mon Sep 17 00:00:00 2001 From: Cole Deck Date: Wed, 28 Apr 2021 10:15:55 -0500 Subject: [PATCH] working final? import warnings --- main.py | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/main.py b/main.py index 1fee3a9..0f6d05e 100644 --- a/main.py +++ b/main.py @@ -11,33 +11,33 @@ app = Window(root) def add_base(): out = [] - for x in baseDropdown['values']: + for x in baseList['values']: out.append(int(x)) try: if not int(baseInput.get()) in out: out.append(int(baseInput.get())) - baseDropdown['values'] = sorted(out) + baseList['values'] = sorted(out) functionTrigger(0,0,0) # Trigger number conversion if a base is added except ValueError: - print("Not a valid base!") - lbl1 = Label(root, text="\nInvalid base!", font=("Arial", 12)) - lbl1.grid(column=1, row=0) + listOut.delete(0,listOut.size()) + listOut.insert(END, "Not a valid base!") def functionTrigger(a,b,c): # Positional arguments from the trace are not needed for this program, but still must be defined input = numberInput.get() - base = int(baseDropdown['values'][baseDropdown.current()]) # Retreive the current selected base + base = int(baseList['values'][baseList.current()]) # Retreive the current selected base baseConverter(input, base) def baseConverter(userInput, numberBase): try: decimalNum = int(userInput,numberBase) # First attempt to get the number in decimal. except: - print("Number entered does not match the base!") + listOut.delete(0,listOut.size()) + listOut.insert(END, "Number entered does not match the base!") return - outputText = "" - for base in baseDropdown['values']: # Iterate through all bases - outputText += "Base " + base + ": " + listOut.delete(0,listOut.size()) + for base in baseList['values']: # Iterate through all bases + outputText = "Base " + base + ": " outputNumber = "" tempNum = decimalNum while tempNum > 0: @@ -48,9 +48,9 @@ def baseConverter(userInput, numberBase): else: # Alphanumeric characters needed outputNumber += chr(55 + digit) # ASCII character offset for capital letters outputNumber = outputNumber[::-1] - outputText += outputNumber + "\n" - lblOut = Label(root, text=outputText, font=("Arial", 12)) - lblOut.grid(column=0, row=7) + outputText += outputNumber + listOut.insert(END, outputText) + root.wm_title("Numerical converter") @@ -75,10 +75,10 @@ separator1.place(relx=0, rely=0.2, relwidth=1, relheight=1) separator2 = Separator(root, orient='horizontal') separator2.place(relx=0, rely=0.43, relwidth=1, relheight=1) -baseDropdown = Combobox(root) -baseDropdown['values']= (2, 10, 16) -baseDropdown.current(1) #set the selected item -baseDropdown.grid(column=1, row=4) +baseList = Combobox(root, width='10') +baseList['values']= (2, 10, 16) +baseList.current(1) #set the selected item +baseList.grid(column=1, row=4) lbl3 = Label(root, text="\nNumber Base \n of the input:\n", font=("Arial", 12)) lbl3.grid(column=0, row=4) @@ -94,9 +94,12 @@ lbl4.grid(column=0, row=6) lbl5 = Label(root, text="", font=("Arial", 12)) lbl5.grid(column=50, row=5) -lblOut = Label(root, text="rtedgh", font=("Arial", 12)) -lblOut.grid(column=0, row=7) + +listOut = Listbox(root, selectmode='SINGLE', width=50) +listOut.grid(column=0, row=7, columnspan=3) + + root.resizable(False, False) -root.geometry('600x400') +root.geometry('325x400') root.mainloop()