Python 3.x Tkinter tag_lower“标记搜索表达式中的布尔运算符无效”

Python 3.x Tkinter tag_lower“标记搜索表达式中的布尔运算符无效”,python-3.x,tkinter,tkinter-canvas,Python 3.x,Tkinter,Tkinter Canvas,我正在尝试用背景图像制作一个Tkinter窗口。我目前有: master = Tk() canvas = Canvas(master, width=WINDOW_SIZE_X, height=WINDOW_SIZE_Y) count = 0 background_image = PhotoImage(file="NA.gif") background_label = Label(canvas, image=background_image) background_label.place(x=0

我正在尝试用背景图像制作一个Tkinter窗口。我目前有:

master = Tk()
canvas = Canvas(master, width=WINDOW_SIZE_X, height=WINDOW_SIZE_Y)
count = 0

background_image = PhotoImage(file="NA.gif")
background_label = Label(canvas, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
canvas.create_oval(40, 40, 700, 700, fill="red")
但是当我运行这个时,我没有看到椭圆形,它可能在背景标签后面。但是,如果在创建椭圆之前添加canvas.tag_lowerbackground_标签,则会出现以下错误:

Traceback (most recent call last):
  File "FILENAMEHERE", line 206, in <module>
    canvas.tag_lower(background_label)
  File "/usr/lib/python3.7/tkinter/__init__.py", line 2587, in tag_lower
    self.tk.call((self._w, 'lower') + args)
_tkinter.TclError: invalid boolean operator in tag search expression

我在这里做错了什么?这就是我如何解决背景图像覆盖所有其他内容的问题的方法吗?

问题是您正在使用place向窗口添加带有图像的标签。这将完全覆盖画布,而不是画布的一部分。使用tag_lower不会有任何效果,因为背景图像不是画布的一部分

如果使用画布的create_image方法将图像添加到画布,它将在画布上显示为背景图像