tkinter - Python IDE IDLE 如何在光标位置的文本小部件顶部显示自动完成列表?

标签 tkinter python-idle

它使用列表框吗?上下文菜单?在文本中插入小部件?还有别的吗?

此外,是否有一些有关 IDLE 如何运行的文档?哪些 python 文件做什么,等等?

最佳答案

autocompletewindow 是一个带有 ListboxScrollbar 的 tk Toplevel。代码位于idlelib/AutoCompleteWindow.py 中(相关代码位于AutoComplete.py 中)。

Idle 文档提供了 Idle 的用户 View 。没有文档为程序员提供了有关idlelib 的 View 。 (我希望当我开始使用 Idle 时就有一个。现在我了解了大多数文件的用途,我应该写一些东西。)

编辑:Tk 和顶级小部件通过传递 geometry string 相对于桌面进行定位。到 .geometry (== .wm_geometry) 方法。请注意,可以省略字符串的“wxh”部分,只传递“+x+y”,如 Idle 代码中所示。

CallTipWindow.position_windowwidget.winfo_rootx/y 计算 x 和 y和 Text.bbox和偏移量。如果通过键入 ( 触发调用提示,则该框位于该字符周围。AutoCompleteWindow.winconfig_event 执行类似的操作,但也使用 winfo_width/height方法。

编辑2:弹出菜单可以使用Menu.post(x, y)(或Menu.tk_popup)定位,其中x,y相对于根。 (Working example)

关于tkinter - Python IDE IDLE 如何在光标位置的文本小部件顶部显示自动完成列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31361792/

相关文章:

python - tkinter 线程未终止(gif 在无限循环中运行)

python - "AttributeError: ' 描述 ' object has no attribute ' co_button '"与 tkinter

python - 如何在我的 IDE 上选择 Python IDLE 解释器

python - Python 的类设计 - 参数错误

python - 在 tkinter 中保留一个变量

python - 手动配置滚动条的 Y 尺寸

python - 如何使用 tkinter 制作计时器?

Python 3.3.2 在 If-else 中使用 ":"语法错误

python - IDLE 注册变量失败。这怎么可能?

Python IDLE 仅在第二台显示器上崩溃。 Tcl/Tk 兼容性问题?