Python如何正确使用绑定?

2021-11-29 22:02:49 发布

您现在位置:Python中文网/ 问答频道 /正文

这个想法显示在我的光标所在的标签上(行.列)是的。它与.index(INSERT)配合得很好,但如果我用文本绑定鼠标右键,它将返回上一个光标位置,而不是当前位置。 似乎回调是在事件之后执行的?你知道吗

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()