Kod źródłowy : canvas_simple.py
<sxh python> from tkinter import *
master = Tk()
w = Canvas(master, width=200, height=100) w.pack()
w.create_line(0, 0, 200, 100) w.create_line(0, 100, 200, 0, fill=“red”, dash=(4, 4))
w.create_rectangle(50, 25, 150, 75, fill=“blue”)
mainloop() </sxh>
Kod źródłowy: canvas_dots.py
<sxh python> from tkinter import *
root = Tk()
class MyCanvas(Canvas):
def __init__(self,master,*args,**kwargs):
self.r = kwargs.pop('radius', 5)
super().__init__(master=master,*args,**kwargs)
self.set_bindings()
def set_bindings(self):
self.bind("<Button-1>", self.draw_disc)
self.bind("<Button-2>", self.make_red)
def draw_disc(self, event): x1 = event.x - self.r y1 = event.y - self.r x2 = event.x + self.r y2 = event.y + self.r self.create_oval(x1,y1,x2,y2)
def make_red(self, event):
r = 5
x1 = event.x - r
y1 = event.y - r
x2 = event.x + r
y2 = event.y + r
items = self.find_overlapping(x1,y1,x2,y2)
for i in items:
self.itemconfig(i, fill="red")
canvas=MyCanvas(root, width=500, height=500, radius=10) canvas.pack()
root.mainloop() </sxh>