首页 > 解决方案 > 如何让程序在后台监听键盘事件?

问题描述

我正在制作一个程序,当我按下自己的快捷键 (ctrl+q) 时会执行多个键盘操作。当程序在后台时,如何让我的程序监听绑定?

def pasteFun(event):
    messagebox.showinfo("hey")

root.bind("<Control-q>", pasteFun)

当我在程序中时这很好用,但是当我最小化它时, ctrl+q 什么都不做。

def test(event):
    messagebox.showinfo("hey","hey")

root.bind_all("<Control-q>",test)

我已经尝试过 root.bind、frame.bind 和 root.bind_all,但是当程序处于后台/最小化时,我的绑定什么也不做。

当我在程序之外并点击我的绑定/快捷方式时,我需要一个函数来运行。

标签: pythontkinter

解决方案


我正在制作一个程序,当我按下自己的快捷键 (ctrl+q) 时会执行多个键盘操作。当程序在后台时,如何让我的程序监听绑定?

你不能用 tkinter 做到这一点。Tkinter 只有在获得焦点时才会看到事件。这是其设计的基本部分。


推荐阅读