You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.9 KiB
Python

from tkinter import *
from tkinter.ttk import *
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
root = Tk()
app = Window(root)
def add_base():
out = []
for x in baseDropdown['values']:
out.append(int(x))
try:
if out.index(int(baseInput.get())) == 0:
out.append(int(baseInput.get()))
baseDropdown['values'] = sorted(out)
except ValueError:
print("Not a valid base!")
lbl6 = Label(root, text="\nInvalid base!", font=("Arial", 12))
lbl6.grid(column=1, row=0)
# set window title
root.wm_title("Numerical converter")
lbl6 = Label(root, text="\n", font=("Arial", 12))
lbl6.grid(column=1, row=0)
lbl2 = Label(root, text="Add a base:", font=("Arial", 12))
lbl2.grid(column=0, row=1)
addBaseBtn = Button(root, text="Add", command=add_base)
addBaseBtn.grid(column=2, row=1)
baseInput = Entry(root,width=10, state='enabled')
baseInput.grid(column = 1, row = 1)
lbl5 = Label(root, text="", font=("Arial", 12))
lbl5.grid(column=0, row=3)
separator1 = Separator(root, orient='horizontal')
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)
lbl3 = Label(root, text="\nNumber Base \n of the input:\n", font=("Arial", 12))
lbl3.grid(column=0, row=4)
numberInput = Entry(root,width=10, state='enabled')
numberInput.grid(column=1, row = 6)
lbl4 = Label(root, text="Number to convert:", font=("Arial", 12))
lbl4.grid(column=0, row=6)
lbl7 = Label(root, text="", font=("Arial", 12))
lbl7.grid(column=50, row=5)
root.resizable(False, False)
root.geometry('600x400')
root.mainloop()