Почему кнопка прокручиваемого холста не двигается? (Python3 + ткинтер) - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь написать программу на python3 с использованием модуля tkinter. Я создал виджет холста с полосой прокрутки y, но когда я пытаюсь добавить кнопку на холсте и прокрутить область, кнопка не перемещается. Вот код:

# defining the tool bar
class toolBar(object):

    def __init__(self, master):
        ''' creates the toolbar object '''

        self.master = master

        # creating the toolbarobject
        self.toolbar = tk.Canvas(self.master, width=70, height=200, bg="lightgrey")
        self.toolbar.grid(row=0, column=1, sticky="nwes", rowspan=2)
        self.toolbar.configure(scrollregion=(0, 0, 0, 2000))

        b1 = tk.Button(self.toolbar, text="Try")
        b1.grid()

        # creating the y scrollling
        self.scroll_y = tk.Scrollbar(self.parent.master, orient="vertical", command=self.toolbar.yview)
        self.scroll_y.grid(row=0, column=0, sticky="ns", rowspan=2)

        self.toolbar.configure(yscrollcommand=self.scroll_y.set)

, где master - это объект tk.Tk (), переданный в класс. У вас есть какое-либо решение этой проблемы?

PS: У меня есть еще один вопрос: когда я запускаю свою программу, холст, содержащий кнопку, соответствует ширине кнопки, можно ли разместить кнопку без изменения холста? ширина

1 Ответ

0 голосов
/ 13 марта 2020

Канва не может прокручивать элементы, добавленные с pack, place или grid. Он будет прокручивать только виджеты, добавленные методом create_window.

...