Я пытаюсь прикрепить полосу прокрутки к списку в Tkinter, но всякий раз, когда код достигает одной из строк .pack (), он зависает ... есть идеи, почему?(Я экспериментировал с запуском примера кода, который делает то же самое, что я нашел в Интернете, и который работал нормально).
#Read Box
self.scrollbar = Tkinter.Scrollbar(self.frame)
#self.scrollbar.pack(side=Tkinter.RIGHT, fill=Tkinter.Y)
self.read = Tkinter.Listbox(self.frame, width=50, yscrollcommand=self.scrollbar.set)
self.read.grid(row=1,column=2)
#self.read.pack(side=Tkinter.LEFT, fill=Tkinter.BOTH)
self.scrollbar.config(command=self.read.yview)
Есть идеи, почему этот код не работает?
Обновленный код:
#Read Box
self.scrollbar = Tkinter.Scrollbar(self.frame)
self.scrollbar2.grid(sticky=Tkinter.N+Tkinter.S) #row=1, column=2 side=Tkinter.RIGHT, fill=Tkinter.Y
self.read = Tkinter.Listbox(self.frame, width=50, yscrollcommand=self.scrollbar.set)
self.read.grid(row=1,column=2) #side=Tkinter.LEFT, fill=Tkinter.BOTH
self.scrollbar.config(command=self.read.yview)
Хорошо, это была небольшая ошибка (я перепутал полосы прокрутки и полосу прокрутки2).В любом случае, теперь у меня есть этот код:
#Read Box
self.scrollbar = Tkinter.Scrollbar(self.frame)
self.scrollbar.grid(row=1, column=2)
self.read = Tkinter.Listbox(self.frame, width=50, yscrollcommand=self.scrollbar.set)
self.read.grid(row=1,column=2)
self.scrollbar.config(command=self.read.yview)
Это не останавливается и появляется полоса прокрутки, но они не подключены (или не имеют никакого контроля) к списку.Что касается остального кода, то это все операторы сетки, без пакета.
Я обнаружил проблему, на полосе прокрутки отсутствовал sticky = Tkinter.N + Tkinter.S.Вот готовый код (с добавленными горизонтальными чертами).
#Read Box
self.scrollbar = Tkinter.Scrollbar(self.frame)
self.scrollbar.grid(row=1, column=3, sticky=Tkinter.N+Tkinter.S)
self.hbar = Tkinter.Scrollbar(self.frame, orient=Tkinter.HORIZONTAL)
self.hbar.grid(row=2, column=2, sticky=Tkinter.E+Tkinter.W)
self.read = Tkinter.Listbox(self.frame, width=50, yscrollcommand=self.scrollbar.set, xscrollcommand=self.hbar.set)
self.read.grid(row=1,column=2)
self.scrollbar.config(command=self.read.yview)
self.hbar.config(command=self.read.xview)