使用 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()
方法检索最小值和最大值之间的位置。然后可以使用它们来设置与幻灯片上所选位置对应的图像。
我开发了一个小型 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()
方法检索最小值和最大值之间的位置。然后可以使用它们来设置与幻灯片上所选位置对应的图像。