Python 在文本视图中右键单击时移动光标?

Python 在文本视图中右键单击时移动光标?,python,pygtk,Python,Pygtk,此时,当用户在文本视图中单击鼠标右键时,会出现一个弹出菜单,但光标实际上并没有改变到用户单击鼠标右键的位置,它只是将光标留在屏幕上。对我来说,我正在尝试实现一个拼写检查菜单,但这并不好,因为我必须单击然后右键单击才能将光标放在正确的位置。所以,我的问题是,是否有任何方法可以以某种方式修改此行为,使其以某种方式实际执行此操作?好吧,我在_位置偶然发现了gtk.TextView.get_iter_,这使我找到了gtk.TextView.get_指针和gtk.TextView.window_到_缓冲区

此时,当用户在文本视图中单击鼠标右键时,会出现一个弹出菜单,但光标实际上并没有改变到用户单击鼠标右键的位置,它只是将光标留在屏幕上。对我来说,我正在尝试实现一个拼写检查菜单,但这并不好,因为我必须单击然后右键单击才能将光标放在正确的位置。所以,我的问题是,是否有任何方法可以以某种方式修改此行为,使其以某种方式实际执行此操作?

好吧,我在_位置偶然发现了gtk.TextView.get_iter_,这使我找到了gtk.TextView.get_指针和gtk.TextView.window_到_缓冲区的坐标。基本上,为了让它工作,我做了以下工作:

    x, y = self.textView.get_pointer()
    x, y = self.textView.window_to_buffer_coords(gtk.TEXT_WINDOW_WIDGET, x, y)
    if self.textView.get_iter_at_location(x, y).has_tag(self.errTag):
        # Code here

基本上,它获取指针的位置(相对于窗口),将其转换为缓冲区坐标(我发现gtk.TEXT_window_TEXT给出了与gtk.TEXT_window_小部件相同的坐标,但我认为我会谨慎行事,使用小部件的窗口),然后在该位置获取iter。工作非常出色。

嗯,我在某个位置偶然发现了gtk.TextView.get_iter_,这使我找到了gtk.TextView.get_指针和gtk.TextView.window_到缓冲区的坐标。基本上,为了让它工作,我做了以下工作:

    x, y = self.textView.get_pointer()
    x, y = self.textView.window_to_buffer_coords(gtk.TEXT_WINDOW_WIDGET, x, y)
    if self.textView.get_iter_at_location(x, y).has_tag(self.errTag):
        # Code here
基本上,它获取指针的位置(相对于窗口),将其转换为缓冲区坐标(我发现gtk.TEXT_window_TEXT给出了与gtk.TEXT_window_小部件相同的坐标,但我认为我会谨慎行事,使用小部件的窗口),然后在该位置获取iter。工作得很好