Использование tk.Scrollbar для обновления изображений в tk.canvas

Я разработал небольшой tkinterГрафический интерфейс для отображения (и экспорта) изображений, хранящихся в собственном формате. Мне удалось загрузить данные в 3D-изображение uint8массив. Я хочу отобразить один фрагмент этого трехмерного массива в tkinter.canvas. Для этого я использовал ImageTk.PhotoImage.

Под холстом я вставил tk.Scrollbar. Моя цель - использовать эту полосу прокрутки, чтобы пользователь мог активно "прокручивать" трехмерный массив. Обычно, когда ползунок перемещается или нажимается любая из стрелок, на холсте должен отображаться срез, соответствующий положению ползунка.

Прямо сейчас у меня есть проблема, заключающаяся в том, что я не понимаю, как установить диапазон полосы прокрутки для моего z-Dimension, а затем как привязать события полосы прокрутки к движению или действиям со стрелкой для обновления холста.

Прямо сейчас у меня нет примера кода, поскольку это более концептуальная проблема.

Не могли бы вы указать мне правильное направление, как решить эту проблему?

Лучший TMC

редактировать фотографию

Tkinter Gui с холстом и полосой прокрутки

1 ответ

Решение

Решение - использовать tkinter.Scale вместо tkinter.Scrollbar . В качестве примечания, команда внутри:

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

передает два значения функции doSomething.

Использование шкалы позволяет использовать scale.get()для получения позиции между минимальным и максимальным значениями. Затем их можно использовать для установки изображения, соответствующего выбранной позиции на слайде.

Другие вопросы по тегам