Использование tk.Scrollbar для обновления изображений в tk.canvas
Я разработал небольшой
tkinter
Графический интерфейс для отображения (и экспорта) изображений, хранящихся в собственном формате. Мне удалось загрузить данные в 3D-изображение
uint8
массив. Я хочу отобразить один фрагмент этого трехмерного массива в
tkinter.canvas
. Для этого я использовал
ImageTk.PhotoImage
.
Под холстом я вставил
tk.Scrollbar
. Моя цель - использовать эту полосу прокрутки, чтобы пользователь мог активно "прокручивать" трехмерный массив. Обычно, когда ползунок перемещается или нажимается любая из стрелок, на холсте должен отображаться срез, соответствующий положению ползунка.
Прямо сейчас у меня есть проблема, заключающаяся в том, что я не понимаю, как установить диапазон полосы прокрутки для моего z-Dimension, а затем как привязать события полосы прокрутки к движению или действиям со стрелкой для обновления холста.
Прямо сейчас у меня нет примера кода, поскольку это более концептуальная проблема.
Не могли бы вы указать мне правильное направление, как решить эту проблему?
Лучший TMC
редактировать фотографию
1 ответ
Решение - использовать
tkinter.Scale
вместо
tkinter.Scrollbar
. В качестве примечания, команда внутри:
scale = tk.Scale(yourTkFrame, from_=min, to=max, orient='horizontal', command=doSomething)
передает два значения функции
doSomething
.
Использование шкалы позволяет использовать
scale.get()
для получения позиции между минимальным и максимальным значениями. Затем их можно использовать для установки изображения, соответствующего выбранной позиции на слайде.