问题描述
我开发了一个小的tkinter
GUI,以显示(和导出)以专有格式存储的图像。我设法将数据加载到3D numpy uint8
数组中。我想在tkinter.canvas
中显示该3D阵列的一个切片。为此,我使用了ImageTk.PhotoImage
。
我在画布下面插入了tk.Scrollbar
。我的目标是使用该滚动条让用户通过3D阵列主动“滚动”。基本上,当移动滑块或按下任意箭头时,应该在画布上显示与滑块位置相对应的切片。
现在我有一个问题,我不明白如何将滚动条的范围设置为我的z-Dimension,然后如何将滚动条事件绑定到移动或箭头动作以更新画布。
您能指出正确的方向如何解决这个问题吗?
最佳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.get()
方法来检索最小值和最大值之间的位置。然后可以使用这些图像来设置与幻灯片上所选位置相对应的图像。