使用 tk.Scrollbar 更新 tk.canvas 中的图像

Using tk.Scrollbar to update images in tk.canvas

我开发了一个小型 tkinter GUI 来显示(和导出)以专有格式存储的图像。我设法将数据加载到 3D numpy uint8 数组中。我想在 tkinter.canvas 中显示该 3D 数组的一片。为此,我使用了 ImageTk.PhotoImage.

在Canvas下面我插入了一个tk.Scrollbar。我的目标是使用该滚动条让用户主动“滚动”3D 阵列。基本上,当移动滑块或按下任何箭头时,滑块位置对应的切片应显示在 canvas.

现在我有一个问题,我不明白如何将滚动条的范围设置为我的 z 维度,然后如何将滚动条事件绑定到移动或箭头动作以更新 canvas.

目前我没有示例代码,因为这是一个更概念化的问题。

你能给我指出正确的方向吗?如何解决这个问题?

最佳TMC

编辑:照片

Tkinter Gui with Canvas and Scrollbar

解决方案是使用 tkinter.Scale 而不是 tkinter.Scrollbar 。作为旁注,命令在:

scale = tk.Scale(yourTkFrame, from_=min, to=max, orient='horizontal', command=doSomething)

将两个值传递给函数 doSomething

使用 Scale 允许使用 scale.get() 方法检索最小值和最大值之间的位置。然后可以使用它们来设置与幻灯片上所选位置对应的图像。