#开发一款画图软件
from tkinter import *
from tkinter.filedialog import *
from tkinter.colorchooser import *
win_width=600
win_height=500
class Application(Frame):
def __init__(self,master=None):
super().__init__(master)
self.master = master
self.x = 0
self.y = 0
self.fg = "red"
self.pack()
self.createWidget()
def createWidget(self):
self.drawpad = Canvas(root,width=win_width,height=win_height*0.9,bg="white")
self.drawpad.pack()
btn_star = Button(root,text="strar",name = "star").pack(side="left",padx=10)
btn_pen = Button(root,text="pen",name="pen").pack(side="left",padx=10)
btn_rect = Button(root,text="rect",name="rect").pack(side="left",padx=10)
btn_clear = Button(root,text="clear",name="clear").pack(side="left",padx=10)
btn_erasor = Button(root,text="erasor",name="erasor").pack(side="left",padx=10)
btn_line = Button(root, text="line", name="line").pack(side="left", padx=10)
btn_lineArrow = Button(root, text="lineArrow", name="lineArrow").pack(side="left", padx=10)
btn_color = Button(root, text="color", name="color").pack(side="left", padx=10)
btn_pen.bind_class("Button",'<1>',self.eventManager)
def eventManager(self,event):
name = event.widget.winfo_name()
print(name)
if name=="line":
self.drawpad.bind("<B1-Motion>",self.myline)
def myline(self,event):
self.drawpad.create_line(self.x,self.y,event.x,event.y,fill=self.fg)
if __name__=='__main__':
root = Tk()
root.geometry(str(win_width)+"x"+str(win_height))
app = Application(master=root)
root.title("简易画图软件")
root.mainloop()
这里出不来直线咋回事呢