【问题标题】:Show Gtk.Popover at cursor of Gtk.Entry在 Gtk.Entry 的光标处显示 Gtk.Popover
【发布时间】:2020-11-06 20:15:12
【问题描述】:

我想在Gtk.Entry 的光标位置显示Gtk.Popover。我只能相对于条目本身添加弹出框,但Gtk.Popover 每次都出现在Gtk.Entry 的中心。

有没有办法让我获得Gtk.Entry 光标的位置并在该位置创建弹出框?

【问题讨论】:

    标签: c gtk vala


    【解决方案1】:

    您应该使用Gtk.Popover.relative_to 来设置您的弹出框相对的小部件;那么您可以使用Gtk.Popover.pointing_to 和带有光标位置的矩形。为此,使用Gtk.Entry.cursor_position 检索字符中光标的索引,并将其转换为Gtk.Entry 小部件的Pango.Layout 中的位置;如果条目允许滚动,您还应该获取Gtk.Entry.scroll_offset 并将其从 Pango 返回的坐标中减去。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多