我正在尝试为Entry小部件实现自动补全功能(或者增强其他人已经发布的食谱)。我想使弹出窗口显示在插入光标旁边。问题是,我找不到如何获取插入光标的x / y坐标。
有一个类似的问题:The Tkinter Text Widget Insertion Cursor-但是它为Text小部件提供了一个答案,而该小部件不适用于Entry。
答案 0 :(得分:1)
基础Tk Entry
小部件具有bbox
子命令来获取指定项目的坐标,Text
和其他一些小部件也是如此,但是由于某些原因,Tkinter无法实现它在这个特定的小部件上。 (如果确实尝试在.bbox()
上调用Entry
,则实际上是在执行.grid_bbox()
,这是完全不同的。)但是,通常可以通过调用Tk来解决缺少Tkinter功能的问题。直接:
entry._getints(entry.tk.call((entry, 'bbox', 'insert')))
(您可以将'insert'
替换为其他各种形式的字符索引规范。)