tag_bind()无法与重叠的画布一起使用

时间:2019-09-01 15:54:20

标签: python tkinter tkinter-canvas

我正在创建一个教学环境,用户可以从下拉菜单中选择某些选项,例如相机或白板,这些选项将作为带有自己对象的新画布添加到GUI中。这些对象通过使用tag_bind左键绑定,但是单击时不会运行该功能。

我尝试使用tag_bind与主画布进行绑定,但是由于对象是使用其自己的画布创建的,因此找不到对象。

from tkinter import *
root = Tk() 

screen_width = root.winfo_screenwidth() - 15
screen_height = root.winfo_screenheight()

canvas = Canvas(root, width = screen_width, height = screen_height) 
canvas.pack() 

def add_item(event, remove):#this is the drop down menu
    dropbackground = canvas.create_rectangle(screen_width - 185, 70, screen_width - 55, 280, fill = "white")

    camera = canvas.create_text(screen_width - 120,85, text = "Camera", font = ("Segoe UI", 9))
    canvas.tag_bind(camera, "<Button-1>", lambda x: camera_func(x, False))
    line1 = canvas.create_line(screen_width - 170, 100, screen_width - 70, 100)

def camera_func(event):
   cam_canvas = Canvas(root, width = 500, height = 500, bg = "red")
   cam_canvas_object = canvas.create_window(500,500, window = cam_canvas)

   remove_button = PhotoImage(file = "cross.png")
   remove_button_object = cam_canvas.create_image(480,20, image = remove_button)
   remove_button.image = remove_button
   cam_canvas.tag_bind(remove_button_object, "<Button-1>", lambda x: camera_func(x, True))

我希望将remove_button_object绑定到右键单击并使用给定参数运行camera_func,但是在单击remove_button_object时,绑定功能似乎不起作用

0 个答案:

没有答案
相关问题