如何更新Tkinter Canvas中create_window创建的组件位置?
Tkinter Canvas元素位置更新解决方案
要更新通过canvas.create_window()创建的元素位置,不能使用config()方法,而是需要调用Canvas的coords()方法——该方法专门用于修改Canvas上元素的坐标。
修改你的更新方法代码如下:
def update_moduleFrame(self, updatedModule, moduleFrame, moduleWindow): # 更新Frame的尺寸 moduleFrame.config(width=updatedModule.size[0], height=updatedModule.size[1]) # 更新Canvas中window元素的位置 self.canvas.coords(moduleWindow, updatedModule.position[0], updatedModule.position[1])
关键说明:
canvas.create_window()返回的是一个整数类型的元素ID,Canvas上所有元素都通过这个ID进行操作coords()方法的参数顺序为:目标元素ID、新的x坐标、新的y坐标
内容的提问来源于stack exchange,提问作者Tim van de Ven
相关产品推荐
相关产品推荐

