c - 在 Gtk.Entry 的光标处显示 Gtk.Popover
问题描述
我想在 aGtk.Popover
的光标位置显示 a Gtk.Entry
。我只能添加相对于条目本身的弹出框,但它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 返回的坐标中获取并减去它。
推荐阅读
- javascript - 无法将动态值传递给 window.open
- mobaxterm - mobaxterm:打开文件卡住
- elasticsearch - EFK-Stack,无法正确配置索引生命周期管理
- php - 连接登台数据库时禁用/拒绝“迁移:刷新”
- python - 使用开发人员信息引发异常的正确方法
- .net - 自定义 Winforms 设计器控件同时缩放和平移控件
- server - 如何访问云服务器上基于桌面的应用程序
- spring-data-jpa - Spring JPA 组合查询,每个查询具有不同的排序
- azure-devops - AzureDevops 静态网站未从私有源中找到 NuGet 包
- java - 如何在 Android Studio 生成的二维码中添加保存图像?