Я хотел бы знать, как сделать определенные узлы в объекте Treeview недоступными для выбора, т.е. при нажатии на такой узел узел не должен выделяться.
Я работаю над
Python 3.3/2.7
Tkinter
Я хотел бы знать, как сделать определенные узлы в объекте Treeview недоступными для выбора, т.е. при нажатии на такой узел узел не должен выделяться.
Я работаю над
Python 3.3/2.7
Tkinter
Создайте древовидную структуру с параметром selectmode="none". Это отключает обработку выбора по умолчанию.
Дайте определенным элементам тег, указывающий, что вы хотите, чтобы они были «выбираемыми».
Создайте привязку щелчка мыши к виджету и используйте обработчик событий, чтобы установить выбор самостоятельно.
def on_click(self, event):
tree = event.widget
item_name = tree.identify_row(event.y)
if item_name:
tags = tree.item(item_name, 'tags')
if tags and (tags[0] == 'selectable'):
tree.selection_set(item_name)