Python 3.x 缩放tkinter画布中的每个对象

Python 3.x 缩放tkinter画布中的每个对象,python-3.x,oop,tkinter,tkinter-canvas,Python 3.x,Oop,Tkinter,Tkinter Canvas,我想同时缩放tkinter画布上的所有对象,但找不到这样做的方法。我将它们放大成一个循环,但性能太慢(画布上大约有5000个对象)。有没有办法做得更好?请帮助。Canvas.scale()能至少解决部分问题吗?请注意,它只缩放坐标-它不会更改文本大小、线宽或放大时可能需要放大的其他细节。感谢您的建议,这确实解决了我的一部分问题,我也希望在放大过程中更改文本大小和线宽。一种方法是循环所有文本和行对象,您有更好的方法来实现吗?您是否知道标记“all”将允许您同时配置所有画布对象?我已经尝试过这种方法

我想同时缩放tkinter画布上的所有对象,但找不到这样做的方法。我将它们放大成一个循环,但性能太慢(画布上大约有5000个对象)。有没有办法做得更好?请帮助。

Canvas.scale()能至少解决部分问题吗?请注意,它只缩放坐标-它不会更改文本大小、线宽或放大时可能需要放大的其他细节。感谢您的建议,这确实解决了我的一部分问题,我也希望在放大过程中更改文本大小和线宽。一种方法是循环所有文本和行对象,您有更好的方法来实现吗?您是否知道标记“all”将允许您同时配置所有画布对象?我已经尝试过这种方法,但它不适用于线宽和文本大小:def zoomer(self,event):true\u x=self.canvas.canvasx(event.x)如果event.delta>0,则true_y=self.canvas.canvasy(event.y):self.canvas.scale(“全部”,true_x,true_y,1.1,1.1)elif event.delta<0:self.canvas.scale(“全部”,true_x,true_y,0.9,0.9)