Как отменить выбор элемента (или элементов) Tkinter ttk.Treeview?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как отменить выбор элемента (или элементов) Tkinter ttk.Treeview?

Сообщение Anonymous »

У меня возникли проблемы при попытке отменить выбор элемента Treeview при выполнении этого из обратного вызова другого виджета. Мне удалось реализовать рабочую отмену выбора при нажатии ESCAPE с помощью:

Код: Выделить всё

tree.selection_remove(tree.focus())
в обратном вызове, привязанном к самому объекту древовидного представления. Это работает только тогда, когда древовидное представление имеет фокус (но это нормально, это желаемое поведение). С другой стороны, попытка сделать то же самое из обратного вызова другого виджета не работает.

Я пробовал использовать:

Код: Выделить всё

tree.selection_clear()
как рекомендовано здесь, но это тоже не работает.

Важно: выбор элементов в дереве из одного вызова с помощью Tree.selection_add(iid) работает. То же самое, что манипулировать еще одним виджетом (полем со списком, а виджет, выполняющий вызов, представляет собой фрейм). Исходя из этого, я не думаю, что проблема связана с какой-то глупой ошибкой (опечаткой или чем-то в этом роде) в моем коде.

Моя теория устарела фокус — это проблема, поскольку это единственная разница, которую я вижу между тем, когда один и тот же код работает с ESCAPE, а не где-либо еще, поэтому я попытался получить фокус с помощью Tree.focus_set() и Tree.focus_force. (), но это не так изменить что-нибудь.

Я не совсем понимаю, что должен делать выбор_clear(). Поскольку ttk.Treeview наследует этот метод от ttk.Misc, документация по нему скудна. Я не смог найти ничего об этом ни здесь, ни здесь. Единственное, что я нашел, это лаконично:


Очистить текущий выбор X.

из справки оболочки Python (что такое загадочный X, координаты?)

Итак, как же сделать это, казалось бы, просто ? Пожалуйста, помогите, у меня нет идей.

Подробнее здесь: https://stackoverflow.com/questions/485 ... k-treeview
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как отменить выбор элемента (или элементов) Tkinter ttk.Treeview?
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Размер блокнота Python Tkinter изменяется, когда я упаковываю ttk.Treeview на второй вкладке
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Размер блокнота Python Tkinter изменяется, когда я упаковываю ttk.Treeview на второй вкладке
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Проблема рендеринга с помощью ttk.TreeView
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Проблема рендеринга с помощью ttk.TreeView
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»