Я хочу использовать tkinter text widget
в качестве виджета readonly
. Он должен действовать как область transcript
. Моя идея состоит в том, чтобы сохранить эту расшифровку в file
и всякий раз, когда пользователь что-либо пишет, просто удалите все содержимое виджета и перезапишите его снова.Текстовый виджет readonly tkinter
код будет выглядеть следующим образом:
transcript_entry = SimpleEditor() # SimpleEditor is inherited from ScrolledText
transcript_entry.text.delete("1.0", END)
# this is just a test string, it should be the contents of the transcript file
transcript_entry.text.insert("1.0", "This is test transcript")
transcript_entry.text.bind("<KeyPress>", transcript_entry.readonly)
И readonly
функция будет выглядеть следующим образом:
def readonly(self, event):
self.text.delete("1.0", END)
# this is just a test string, it should be the contents of the transcript file
self.text.insert("1.0", "This is test transcript")
Исправлена ошибка в том, что последний символ, введенный пользователем добавляется к протоколу. Я подозреваю, что причина в том, что функция readonly называется, then
пользовательский ввод записывается в виджет. Как отменить этот порядок & позволить функции readonly быть вызванной after
пользовательский ввод записывается в виджет?
Любые подсказки?
Что такое виджет ScrolledText ? Я не знаком с этим ... – mgilson
Как насчет просто установки 'state = DISABLED'? – mgilson
Он похож на «текстовый виджет tkinter» со строкой прокрутки http://docs.python.org/2/library/scrolledtext.html – yassin