How can I vary a shape's alpha with Tkinter?
I am not completely sure, but I think it is not possible to set a RGBA color as a fill color of a canvas item. However, you can give a try to the stipple
option:
canvas.create_rectangle(20, 50, 300, 100, outline="black", fill="red", width=2, stipple="gray50")
You cannot change the alpha of items on a canvas.
An idea is make a rectangle png image with semitransparent colors. Then use create_image instead of create_rectangle.