【发布时间】:2020-11-06 20:15:12
【问题描述】:
我想在Gtk.Entry 的光标位置显示Gtk.Popover。我只能相对于条目本身添加弹出框,但Gtk.Popover 每次都出现在Gtk.Entry 的中心。
有没有办法让我获得Gtk.Entry 光标的位置并在该位置创建弹出框?
【问题讨论】:
我想在Gtk.Entry 的光标位置显示Gtk.Popover。我只能相对于条目本身添加弹出框,但Gtk.Popover 每次都出现在Gtk.Entry 的中心。
有没有办法让我获得Gtk.Entry 光标的位置并在该位置创建弹出框?
【问题讨论】:
您应该使用Gtk.Popover.relative_to 来设置您的弹出框相对的小部件;那么您可以使用Gtk.Popover.pointing_to 和带有光标位置的矩形。为此,使用Gtk.Entry.cursor_position 检索字符中光标的索引,并将其转换为Gtk.Entry 小部件的Pango.Layout 中的位置;如果条目允许滚动,您还应该获取Gtk.Entry.scroll_offset 并将其从 Pango 返回的坐标中减去。
【讨论】: