我使用image(image1(作为背景,并使用create_window方法进行Entry。我想用create_image方法使image(image2(覆盖条目。但每次都会显示Entry小部件。(条目-图像2-imgae1(我如何更改这些像image2-Entry-image1的顺序。我的代码如下。
self.img_main = PhotoImage(file=r"C:BartMy libraryPythonGrindingGUIcaptureimage1.png")
self.canvas_main = Canvas(self, width=1366, height=768, bd=0)
self.canvas_main.pack(fill=BOTH, expand=True)
self.canvas_main.create_image(0,0, image=self.img_main, anchor=NW)
self.entry = Entry(self, width=12, justify="center", bg="#A5C1DE")
self.canvas_main.create_window(72, 287, height=32, anchor=NW, window=self.entry)
self.cbb_pro_sel_img_1 = PhotoImage(file=r"C:BartMy libraryPythonGrindingGUIcaptureimage2.png")
self.cbb_pro_sel = self.canvas_main.create_image(36, 75, anchor=NW, image=self.cbb_pro_sel_img_1)
不能在嵌入小部件上方的画布上引发图像对象。来自画布文档:
画布中的项目是为了显示而排序的,显示列表中的第一个项目首先显示,然后是列表中的下一个项目,依此类推。显示列表中较晚的项目会模糊显示列表中较早的项目,有时被称为"位于"较早项目的"顶部"。当创建一个新项目时,它会被放置在显示列表的末尾,位于其他所有项目之上。小工具命令可以用于重新排列显示列表的顺序窗口项是上述规则的例外。底层窗口系统要求它们始终绘制在其他项目之上
相反,您可以创建一个包含图像的标签,然后使用create_window
将标签放在条目上。由于它是一个小部件,所以它可以出现在入口小部件的上方。