# Pastebin opffP20H from tkinter import * from tkinter.messagebox import * class Main(): def __init__(self): self.main = Tk() self.main.option_add('*Font', 'courier 10') #self.main.option_add('*Button.Font', 'courier 10') self.integer = IntVar(0) #self.binary = IntVar(value=(bin(self.integer.get()))) self.main.title('00000000') #self.binary_digits = [str(bit) for bit in self.main.title()] self._128 = IntVar(0) self._64 = IntVar(0) self._32 = IntVar(0) self._16 = IntVar(0) self._8 = IntVar(0) self._4 = IntVar(0) self._2 = IntVar(0) self._1 = IntVar(0) #self.main.title(str(self.binary.get())) #self.main.geometry('500x500') #FRAMES#TOP self.frame0 = Frame(self.main,bg='blue',bd=20) self.frame0.pack() self.frame1 = Frame(self.frame0,bg='red',bd=20) self.frame1.pack(fill='both',expand=True) self.frame2 = Frame(self.frame0,bg='green',bd=20) self.frame2.pack(fill=Y) #FRAMES#BOTTOM self.frame3 = Frame(self.main,bg='yellow',bd=20) self.frame3.pack() self.frame4 = Frame(self.frame3,bg='orange',bd=20) self.frame4.pack(side=LEFT) self.frame5 = Frame(self.frame3,bg='pink',bd=20) self.frame5.pack(side=LEFT) self.frame6 = Frame(self.frame3,bg='purple',bd=20) self.frame6.pack(side=LEFT) self.frame7= Frame(self.main) self.frame7.pack(side=TOP) #BUTTONS#TOP#DISABLED#{128..1} self.label0 = Button(self.frame1,state=DISABLED,text='128',fg='grey', width=1, height=1) self.label0.grid(column=0,row=0) self.label1 = Button(self.frame1,state=DISABLED,text='64' ,fg='grey', width=1, height=1) self.label1.grid(column=1,row=0) self.label2 = Button(self.frame1,state=DISABLED,text='32' ,fg='grey', width=1, height=1) self.label2.grid(column=2,row=0) self.label3 = Button(self.frame1,state=DISABLED,text='16' ,fg='grey', width=1, height=1) self.label3.grid(column=3,row=0) self.label4 = Button(self.frame1,state=DISABLED,text='8' ,fg='grey', width=1, height=1) self.label4.grid(column=4,row=0) self.label5 = Button(self.frame1,state=DISABLED,text='4' ,fg='grey', width=1, height=1) self.label5.grid(column=5,row=0) self.label6 = Button(self.frame1,state=DISABLED,text='2' ,fg='grey', width=1, height=1) self.label6.grid(column=6,row=0) self.label7 = Button(self.frame1,state=DISABLED,text='1' ,fg='grey', width=1, height=1) self.label7.grid(column=7,row=0) #BUTTONS#BOTTOM#PUSH#0/1 self.labelA = Button(self.frame2,command=self.flip_128(),textvariable=self._128, width=1, height=1) self.labelA.grid(column=0,row=0) self.labelB = Button(self.frame2,textvariable=self._64, width=1, height=1) self.labelB.grid(column=1,row=0) self.labelC = Button(self.frame2,textvariable=self._32, width=1, height=1) self.labelC.grid(column=2,row=0) self.labelD = Button(self.frame2,textvariable=self._16, width=1, height=1) self.labelD.grid(column=3,row=0) self.labelE = Button(self.frame2,textvariable=self._8, width=1, height=1) self.labelE.grid(column=4,row=0) self.labelF = Button(self.frame2,textvariable=self._4, width=1, height=1) self.labelF.grid(column=5,row=0) self.labelG = Button(self.frame2,textvariable=self._2, width=1, height=1) self.labelG.grid(column=6,row=0) self.labelH = Button(self.frame2,textvariable=self._1, width=1, height=1) self.labelH.grid(column=7,row=0) #BUTTONS self.button0 = Button(self.frame7,bd=5,font='courier 10',text='Quit',command=self.main.destroy) self.button0.grid(column=0,row=0) self.button1 = Button(self.frame6,bd=5,font='courier 10',text=' + ' ,command=self.increment) self.button1.grid(column=0,row=0) self.button2 = Button(self.frame4,bd=5,font='courier 10',text=' - ' ,command=self.decrement) self.button2.grid(column=0,row=0) #CHECKBOX self.cb1 = Checkbutton(self.main,text='Signed') self.cb1.pack() #INTEGER self.entry0 = Entry(self.frame5,textvariable=str(self.integer),justify=CENTER,width=4) self.entry0.grid(column=0,row=0) mainloop() #def get_var(): #case_name_entry.delete(0, tk.END) #new_text = 'new text' #print(new_text) #case_name_entry.insert(0, new_text) def update_bin(self): self.binary = IntVar(value=(bin(self.integer.get()))) #self.binary = IntVar(value=(format(int(bin(self.integer.get()))),'08b')) #self.binary.set(format(int(self.binary.get()),'08b')) if self.integer.get() < 0: self.binary = format(int(self.binary.get()),'09b') self._128.set(self.binary[1]) self._64.set(self.binary[2]) self._32.set(self.binary[3]) self._16.set(self.binary[4]) self._8.set(self.binary[5]) self._4.set(self.binary[6]) self._2.set(self.binary[7]) self._1.set(self.binary[8]) if self.integer.get() >= 0: self.binary = format(int(self.binary.get()),'08b') self._128.set(self.binary[0]) self._64.set(self.binary[1]) self._32.set(self.binary[2]) self._16.set(self.binary[3]) self._8.set(self.binary[4]) self._4.set(self.binary[5]) self._2.set(self.binary[6]) self._1.set(self.binary[7]) #self.main.title(format(int(self.binary.get()),'08b')) self.main.title(self.binary) #self.main.title(self.binary.get()) #self.binary_digits = IntVar(value=[str(bit) for bit in self.main.title()]) #self._128,_64,_32,_16,_8,_4,_2,_1 = [str(bit) for bit in self.main.title()] def flip_128(self): if self._128.get() == 0: self._128.set(1) if self._128.get() == 1: self._128.set(0) def update_int(self): pass def increment(self): self.integer.set(self.integer.get()+1) self.update_bin() #self.integer = self.integer + 1 #self.entry0.delete(0, END) #self.entry0.insert(0, self.integer) def decrement(self): self.integer.set(self.integer.get()-1) self.update_bin() #self.integer = self.integer - 1 #self.entry0.delete(0, END) #self.entry0.insert(0, self.integer) Main()