Выделите только тексты, а не всю строку в tkinter - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь выбрать только введенные слова в ScrolledText, но выделена целая строка.Выберите весь код:

# I'm using ScrolledText for the input field
self.textBox = ScrolledText.ScrolledText(master=self.topFrame, wrap="word", bg='beige', padx=20, pady=5)

# Binding Shortcuts
rootone.bind("<Control-a>", self.selectAllOperation)

# Function Defination
def selectAllOperation(self, event=None):
        self.textBox.tag_add('sel', '1.0', 'end')

Это то, что происходит, enter image description here

Это то, что я хочу сделать, enter image description here

Обратите внимание, что на втором изображении выбран только конец слов, но на первом изображении выделяется вся строка.Можно ли в tkinter реализовать эту функцию?

Я использую python 3.6

1 Ответ

0 голосов
/ 19 февраля 2019

Вопрос : выберите только тексты, а не всю строку

Вместо выбора всего текста от 1.0 до end, вы должны сделатьэто строка за строкой от y.0 до y.end.

enter image description here


  1. Получить количество строк:

        lines = len(self.text.get("1.0", "end").split('\n'))
    
  2. Зациклить все строки, select от y.0 до y.end:

        for idx in range(1, lines):
            self.text.tag_add('sel', '{}.0'.format(idx), '{}.end'.format(idx))
    

Проверено на Python: 3,5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...