Как запретить выбор виджета TK Text?

Я пытаюсь найти лучший способ запретить выделение текста в текстовом виджете Tk. Вот пример кода с использованием ScrolledText Iwidget:

package require Iwidgets
iwidgets::scrolledtext .t 
pack .t

Я уже безуспешно пытался выполнить привязку к <<Selection>> виртуальному событию, чтобы отвязать <Double-1> событие.

Любые идеи?


person Adriano    schedule 19.02.2012    source источник


Ответы (1)


В меру неудобно предотвращать создание выделения (существует множество привязок, которые что-то делают с ним), но вы можете легко предотвратить его влияние на остальную часть приложения (настроив текстовый виджет на есть -exportselection false). Затем все, что вам нужно сделать, это убедиться, что он не виден, настроив его как невидимый (с помощью параметров текстового виджета -selectbackground и -selectborderwidth).

person Donal Fellows    schedule 19.02.2012
comment
Кроме того, у вас, вероятно, были проблемы с <Double-1>, потому что он применяется с использованием привязки класса виджета, и есть другие связанные привязки, которые также имеют эффект. Слишком сложно разобраться во всем этом! - person Donal Fellows; 19.02.2012
comment
Есть ли способ отключить выделение или изменить цвет выделения на отключенную ширину текста? Если он отключен, -selectbackground работать не будет. - person Judismar Arpini Junior; 06.07.2016