【问题标题】:Check for tkinter events globally (across OS)全局检查 tkinter 事件(跨操作系统)
【发布时间】:2015-11-29 07:52:59
【问题描述】:

我尝试使用弹出菜单制作应用程序 - 当我在键盘上键入 SPACE-R_ALT 时,全局跨操作系统(在我的情况下为 Windows)。发生这种情况时,我想弹出一个窗口(我知道怎么做),我可以碰巧使用 Chrome 或 Word,然后点击 Space-Right Alt,然后能够打开它,这一点至关重要小菜单。

Tkinter 事件绑定有两个问题:

  1. 首先,当我为 使用事件绑定时,然后,在 函数,使用evt.keysym,可以看到程序无法注册 两者同时。我可以用一个计时器,然后看看它是否有效, 但我更喜欢一条能解决所有问题的线路。
  2. 其次,我发现 tkinter 事件绑定仅在绑定的窗口小部件的窗口(或窗口本身)被聚焦时才起作用。我会一直隐藏我的 root 和 TopLevel,所以没有重点。

我将不胜感激这方面的任何帮助。如果您的建议使用另一个模块,我真的不在乎,只要它适用于 Windows 10(不是 Mac OS X,不是 Linux,而是 Windows)。我也在使用 Python 3,但任何版本(又名 2)也可以,因为我可以尝试将您的建议移植到 Py3,或者将我的代码移植到 Py2。谢谢!

【问题讨论】:

  • 操作系统不会向隐藏窗口发送事件(不管是 Python、C、C++ 等)。也许你需要 pyhook 模块。或者您可以使用AutoHotKey,但它使用自己的脚本语言。

标签: python tkinter


【解决方案1】:

我在 Furas 的帮助下解决了这个问题 - 借助 Pyhook,我可以在全局范围内等待事件,然后将事件与 tkinter 事件联系起来。

【讨论】:

    猜你喜欢
    • 2012-08-16
    • 2012-06-02
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 2012-02-05
    相关资源
    最近更新 更多