from tkinter import * class Grafikexempel: def change_background(self): self.c.delete('all') self.c['background']=self.dec2hex(self.rgb) self.c.create_text(100,50,fill='black',font='Times 18 italic bold', text='Dec: ' + str(self.rgb)) self.c.create_text(100,100,fill='black',font='Times 18 italic bold', text='Hex: ' + self.dec2hex(self.rgb)) self.c.create_text(200,150,fill='black',font='Times 18 italic bold', text='Bin: ' + self.dec2bin(self.rgb)) def change_red(self,value): self.rgb[0]=int(value) self.label_red_bin['text']=self.dec2bin(self.rgb)[0:8] self.label_red_hex['text']=self.dec2hex(self.rgb)[1:3] self.change_background() def change_green(self,value): self.rgb[1]=int(value) self.label_green_bin['text']=self.dec2bin(self.rgb)[8:16] self.label_green_hex['text']=self.dec2hex(self.rgb)[3:5] self.change_background() def change_blue(self,value): self.rgb[2]=int(value) self.label_blue_bin['text']=self.dec2bin(self.rgb)[16:24] self.label_blue_hex['text']=self.dec2hex(self.rgb)[5:7] self.change_background() def __init__(self, root): root.title('Färgschema(RGB) Bin/Dec/Hex') root.geometry('640x320') self.rgb = [0,0,0] f1 = Frame(root) self.label_red_bin = Label(f1) self.label_red_bin.pack(side = LEFT) # Layout-manager "pack" vänster->höger s1 = Scale(f1, from_=0, to=255, orient=HORIZONTAL, command=self.change_red) s1['bg'] = '#ff0000' s1['length'] = 320 s1.pack(side = LEFT) # Layout-manager "pack" vänster->höger self.label_red_hex = Label(f1) self.label_red_hex.pack(side = LEFT) # Layout-manager "pack" vänster->höger f2 = Frame(root) self.label_green_bin = Label(f2) self.label_green_bin.pack(side = LEFT) # Layout-manager "pack" vänster->höger s2 = Scale(f2, from_=0, to=255, orient=HORIZONTAL, command=self.change_green) s2['bg'] = '#00ff00' s2['length'] = 320 s2.pack(side = LEFT) # Layout-manager "pack" vänster->höger self.label_green_hex = Label(f2) self.label_green_hex.pack(side = LEFT) # Layout-manager "pack" vänster->höger f3 = Frame(root) self.label_blue_bin = Label(f3) self.label_blue_bin.pack(side = LEFT) # Layout-manager "pack" vänster->höger s3 = Scale(f3, from_=0, to=255, orient=HORIZONTAL, command=self.change_blue) s3['bg'] = '#0000ff' s3['length'] = 320 s3.pack(side = LEFT) # Layout-manager "pack" vänster->höger self.label_blue_hex = Label(f3) self.label_blue_hex.pack(side = LEFT) # Layout-manager "pack" vänster->höger f1.pack() # Layout-manager "pack" upp->ned f2.pack() # Layout-manager "pack" upp->ned f3.pack() # Layout-manager "pack" upp->ned self.c = Canvas(root, width=640, height=240) self.c.pack() # Layout-manager "pack" upp->ned def dec2hex(self,rgb): red = format(rgb[0],'02x') green = format(rgb[1],'02x') blue = format(rgb[2],'02x') return '#' + red + green + blue def dec2bin(self,rgb): red = format(rgb[0],'08b') green = format(rgb[1],'08b') blue = format(rgb[2],'08b') return red + green + blue root = Tk() x = Grafikexempel(root) root.mainloop()