【问题标题】:The Tkinter Entry Widget Insertion CursorTkinter 条目小部件插入光标
【发布时间】:2019-02-09 19:10:27
【问题描述】:

我正在尝试实现 Entry 小部件的自动完成功能(或者,更确切地说,增强其他人已经发布的收件人)。我想让弹出窗口出现在插入光标旁边。问题是,我找不到如何获取插入光标的 x/y 坐标。

有一个类似的问题:The Tkinter Text Widget Insertion Cursor——但它为 Text 小部件提供了一个答案,这对 Entry 不起作用。

【问题讨论】:

  • 看起来 entry.bbox('insert') 应该这样做,尽管我无法让它在快速测试中返回除零之外的任何内容。
  • 是的@jasonharper 在我发现上面提到的其他问题之后我尝试了那个东西,对我来说它也总是返回 (0,0,0,0),无论我传递什么.

标签: python tkinter


【解决方案1】:

底层的 Tk Entry 小部件有一个 bbox 子命令来获取指定项目的坐标,Text 和其他一些小部件也是如此,但由于某种原因,Tkinter 无法在这个特定的小部件上实现它。 (如果您尝试在 Entry 上调用 .bbox(),您实际上是在执行 .grid_bbox(),这是完全不同的。)但是,您通常可以通过直接调用 Tk 来解决缺少的 Tkinter 功能:

entry._getints(entry.tk.call((entry, 'bbox', 'insert')))

(您可以将'insert' 替换为各种其他形式的字符索引规范。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 2019-01-22
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多