# der unvermeidliche Farbenmischer # Wolfgang.Urban@schule.at from Tkinter import * # aktualisiert die Anzeige def adjust(event): global tr,tg,tb,br,bg,bb # die Schieberegler text,back rgb global ltext,lback # Labels für Hexwerte global cv,txt # Zeichenfläche und Text textcolor = "#%02x%02x%02x"%(tr.get(),tg.get(),tb.get()) backcolor = "#%02x%02x%02x"%(br.get(),bg.get(),bb.get()) ltext.configure(text=textcolor) lback.configure(text=backcolor) cv.configure(bg=backcolor) cv.itemconfigure(txt,fill=textcolor) def start(): global tr,tg,tb,br,bg,bb global ltext,lback global cv,txt global root root = Tk() root.resizable(0,0) root.title("HIB Farbmischer") # Beschriftung oben ltop = Label(root,text="Der ultimative Farbmischer",font=("Arial",18,"bold")) ltop.pack(side=TOP, fill=X, pady=6) # Canvas in der Mitte cv = Canvas(root,width=280,height=300) # Frames links und rechts flinks = Frame(root,relief=RIDGE,borderwidth=2) frechts = Frame(root,relief=RIDGE,borderwidth=2) # Labels in den Frames Label(flinks,text="text",font=("Arial",12)).grid(row=0,column=0,columnspan=3) Label(frechts,text="back",font=("Arial",12)).grid(row=0,column=0,columnspan=3) # linke Frameinhalte für Text-Color tr=Scale(flinks,orient=VERTICAL,from_=255,to_=0,troughcolor="#ff0000", length=255,showvalue=0,repeatinterval=10,command=adjust) tr.grid(row=1,column=0) tg=Scale(flinks,orient=VERTICAL,from_=255,to_=0,troughcolor="#00ff00", length=255,showvalue=0,repeatinterval=10,command=adjust) tg.grid(row=1,column=1) tb=Scale(flinks,orient=VERTICAL,from_=255,to_=0,troughcolor="#0000ff", length=255,showvalue=0,repeatinterval=10,command=adjust) tb.grid(row=1,column=2) # rechte Frameinhalte für Background-Color br=Scale(frechts,orient=VERTICAL,from_=255,to_=0,troughcolor="#ff0000", length=255,showvalue=0,repeatinterval=10,command=adjust) br.grid(row=1,column=0) bg=Scale(frechts,orient=VERTICAL,from_=255,to_=0,troughcolor="#00ff00", length=255,showvalue=0,repeatinterval=10,command=adjust) bg.grid(row=1,column=1) bb=Scale(frechts,orient=VERTICAL,from_=255,to_=0,troughcolor="#0000ff", length=255,showvalue=0,repeatinterval=10,command=adjust) bb.grid(row=1,column=2) br.set(255) bg.set(255) bb.set(255) # Labels für Farbausgabe hex ltext=Label(flinks,text="#123456",font=("Courier",11,"bold")) ltext.grid(row=2,column=0,columnspan=3) lback=Label(frechts,text="#123456",font=("Courier",11,"bold")) lback.grid(row=2,column=0,columnspan=3) # packen flinks.pack(side=LEFT,padx=5,pady=5) frechts.pack(side=RIGHT,padx=5,pady=5) cv.pack(side=LEFT) # Text in den Canvas txt=cv.create_text(140,150,text="made\nat\nHIB",justify=CENTER, font=("Arial",24)) start() root.mainloop()