prev=txt.get('sel.first','sel.last').replace('\n','') idx = txt.search(prev,'1.0','end')
однако при этом могут найтись и дублирующиеся фрагменты, если они присутствуют в тексте, а мне нужен только выделенный фрагмент.
prev=txt.get('sel.first','sel.last').replace('\n','') idx = txt.search(prev,'1.0','end')
4kpt_IIПравильно, причем не обязательно “строка.столбец”, а просто позиция фрагмента по отношению к тексту, который вставляется в виджет. Например, если текст “юный комсомолец готов служить Советскому Союзу”, а фрагмент - “комсомолец”, то возвращается либо 6 (по буквам), либо (лучше) 2 (по словам). Python 3.1.3.
Сложно понять, что Вы хотите. Я понял так:1. Есть виджет Text. 2. Пользователь выделяет в Text какую-то часть текста.3. Нажимает кнопку (button или просто правую кнопку мыши)4. Программа возвращает номер первого символа из выделенного куска (во всем тексте - “строка.столбец”)
import tkinter # # def get_pos(event): print text.index("sel.first") # root = tkinter.Tk() # text = tkinter.Text(root) text.pack() # but = tkinter.Button(root, text="Click!") but.bind("<Button - 1>", get_pos) but.pack() # root.mainloop()