Как в Tkinter Scrollbar для таблицы treeview сделать неактивным
Возможно ли в Tkinter Scrollbar для таблицы treeview сделать неактивным или убрать ползунок, но не удалять, пока получилось только полностью скрыть Scrollbar
scrollbar = ttk.Scrollbar(frame, orient="vertical", command=tree.yview)
tree.configure(yscrollcommand=scrollbar.set)
i = 0
for item in rows:
#Вывод строк таблицы
tree.insert(parent='',index='end',iid=0,text='', values=(item[0],item[1]))
i += 1
#если строк меньше 10
if i < 10:
#убираем скролл
scrollbar.pack_forget()
else:
#иначе отображаем
scrollbar.pack(side=RIGHT, fill=Y)
tree.pack(side=LEFT)
Но хочется не скрывать, а сделать Scrollbar неактивным, убрать ползунок если таблица пустая
Ответы (2 шт):
Автор решения: Vladislav_Rosch
→ Ссылка
Возможно стоит попробовать вместо скроллбар заменять фреймом, который будет такого же цвета окна?
scrollbarHide = Frame(scrollbar, bg = "Цвет фона")
scrollbarHide.place(relx = 0, rely = 0.1, relwidth = 1, relheight = 0.8)
Я использую place() - так как мне это удобней, но вы можете использовать pack() Либо же можно попробовать такую строку:
#если строк меньше 10
if i < 10:
#убираем скролл
scrollbar.config(indicatoron = 0)
Но! Я не уверен что это свойство применимо к scrollbar, я знаю только за radiobutton и checkbox.
Автор решения: Vitaly
→ Ссылка
Мне подошел данный код
#Создание фрейма в котоый вкладывается скролл и таблица
game_frame = Frame(tk, bg="#ccc", borderwidth=1)
game_frame.grid(column=0, row=1, columnspan=3, sticky=N+S+W+E, padx=8)
#Создание скрола
vsb = Scrollbar(game_frame)
vsb.pack(side=RIGHT, fill=Y)
#Создание таблицы
tree = ttk.Treeview(game_frame, style="mystyle.Treeview", yscrollcommand=vsb.set, selectmode="browse", height=17)
tree.pack(fill=BOTH)
vsb.config(command=tree.yview)
Благодарю за ответ!
