아이디어가 내 커서 (line.column)가있는 레이블에 표시되었습니다. 어떤 작품. 인덱스 (INSERT) 잘하지만 텍스트로 마우스 오른쪽 단추를 바인딩하면 이전 커서 위치를 현재 반환합니다. 이벤트 후 콜백이 실행 된 것 같습니다.Python Tkinter 바인딩을 올바르게 사용하는 방법은 무엇입니까?
는from tkinter import Tk, Text, Frame, Label, StringVar, constants, END, INSERT
EXPL_TEXT = "I know that dress is karma. Perfume regret\nYou got me thinking bout"
class App(Frame):
def __init__(self,master):
Frame.__init__(self,master)
self.pack()
self.var = StringVar()
self.init_widgets()
def init_widgets(self):
self.text = Text(self)
self.text.bind('<Button-1>',self.callback_index)
self.text.pack()
self.text.insert(END,EXPL_TEXT)
self.label = Label(self, textvariable=self.var)
self.label.pack()
def callback_index(self,event):
x = self.text.index(INSERT)
self.var.set(x)
if __name__ == '__main__':
root = Tk()
app = App(root)
root.mainloop()
시에라 당신은 절대적으로 맞습니다. –
그것은 어떤 사건에서 발생합니다. Listbox에서도 눈에.니다. 당신은'after()'로 그 문제를 해결할 필요가있다. 다른 해결책도있을 수 있지만 이것은 나를 위해 일했습니다. –