سلام، تو این قسمت که قسمت اخر این پروژه هست میخوایم تنظیم رنگ در طول کار و رنگ اولیه رو بسازیم و به برنامه اضافه کنیم.
قدم اول: تنظیم رنگ اولیه.
from tkinter import * from tkinter.colorchooser import * class App(Tk): o=HORIZONTAL properties_scl=dict(from_=1,to=100,tickinterval=10,length=700) def __init__(self): super().__init__() self.title("Paint") self.geometry("1200x1440") self.resizable(0,0) cmd=lambda:self.clrset("#000","#373737") cmd() self.pensize=Scale(**self.properties_scl,orient=self.o,showvalue=1) self.pensize.place(x=100,y=32) self.cnv=Canvas(width=1200,height=1140,bg="#fff") self.cnv.place(x=0,y=300) def clrset(self,ok,cancel): self.clrch=Chooser(initialcolor=ok,parent=None) paint=self.clrch.show() self.color=paint[1] or cancel def paint(self,event): p=self.pensize.get() x1,y1=event.x-p,event.y-p x2,y2=event.x+p,event.y-p self.cnv.create_oval(x1,y1,x2,y2,fill=self.color,outline=self.color) App() mainloop()
قدم دوم: تنظیم رنگ در طول کار.
from tkinter import * from tkinter.colorchooser import * class App(Tk): o=HORIZONTAL properties_scl=dict(from_=1,to=100,tickinterval=10,length=700) prop_work=dict(bd=10,relief=RIDGE,bg=self.color,font="arial 20 bold italic") def __init__(self): super().__init__() self.title("Paint") self.geometry("1200x1440") self.resizable(0,0) cmd=lambda:self.clrset("#000","#373737") cmd() self.pensize=Scale(**self.properties_scl,orient=self.o,showvalue=1) self.pensize.place(x=100,y=32) self.workschema=Button(text="Color",command=cmd,**self.prop_work) self.workschema.place(x=900,y=10) self.cnv=Canvas(width=1200,height=1140,bg="#fff") self.cnv.place(x=0,y=300) def clrset(self,ok,cancel): self.clrch=Chooser(initialcolor=ok,parent=None) paint=self.clrch.show() self.color=paint[1] or cancel if hasattr(self,"workschema"): self.workschema.configure(bg=self.color) def paint(self,event): p=self.pensize.get() x1,y1=event.x-p,event.y-p x2,y2=event.x+p,event.y-p self.cnv.create_oval(x1,y1,x2,y2,fill=self.color,outline=self.color) App() mainloop()
بحث امروز و این پروژه هم به پایان رسید.خداحافظ.