Python 如何在tkinter gui中关闭快捷方式? def关闭(事件): root.destroy() root.bind(“,closer)

Python 如何在tkinter gui中关闭快捷方式? def关闭(事件): root.destroy() root.bind(“,closer),python,tkinter,Python,Tkinter,如果在单击另一个窗口时按F4,则没有响应,我必须在包含代码的程序窗口中单击F4并按F4进行操作 我应该添加什么代码以在其他窗口中关闭? 我想使用另一个窗口中的快捷方式关闭程序。从评论中,我知道您正在寻找绑定系统范围热键的解决方案 这不可能直接通过tkintersbind方法实现,您需要一个外部模块。这有几个选项,例如 我只有使用system\u热键模块的个人经验。您可以通过添加以下代码来使用它。请记住,这样添加的任何热键都会使其他程序无法访问该键 导入系统\u热键 hk=system_

如果在单击另一个窗口时按F4,则没有响应,我必须在包含代码的程序窗口中单击F4并按F4进行操作

我应该添加什么代码以在其他窗口中关闭?
我想使用另一个窗口中的快捷方式关闭程序。

从评论中,我知道您正在寻找绑定系统范围热键的解决方案

这不可能直接通过tkinters
bind
方法实现,您需要一个外部模块。这有几个选项,例如

我只有使用
system\u热键
模块的个人经验。您可以通过添加以下代码来使用它。请记住,这样添加的任何热键都会使其他程序无法访问该键

导入系统\u热键
hk=system_hotkey.SystemHotkey()
hk.register(['F4'],callback=closer)

下面是一个示例,演示如何按照我在评论中的建议,将一个不可操作函数绑定到函数键。出于测试目的,我还添加了第二个事件处理程序函数并将其绑定到F5,这将绑定和解除绑定F4的处理程序

从tkinter导入*
未绑定,绑定=0,1
root=Tk()
def关闭(事件):
打印('已调用')
root.destroy()
def切换_关闭(事件):
全球国家
打印('toggle_closer called')
如果state==绑定:
root.bind(“,lambda e:None)
打印(“F4未绑定”)
状态=未绑定
其他:
root.bind(“,closer)
打印(‘F4绑定’)
状态=绑定
root.bind(“,closer)
状态=绑定
root.bind(“,切换\u closer)
root.mainloop()
打印('终止')

root.unbind(“”)
?我想使用另一个窗口中的快捷方式关闭程序。您的问题不够清晰。你能详细解释一下你想要实现什么吗?你是说系统热键吗?如果是,请尝试
pynput
module。尝试更改为
root.bind\u all(“,closer)
def closer(event):
    root.destroy()
root.bind("<F4>", closer)
from tkinter import *

UNBOUND, BOUND = 0, 1

root = Tk()

def closer(event):
    print('closer called')
    root.destroy()

def toggle_closer(event):
    global state

    print('toggle_closer called')
    if state == BOUND:
        root.bind("<F4>", lambda e: None)
        print('  F4 unbound')
        state = UNBOUND
    else:
        root.bind("<F4>", closer)
        print('  F4 bound')
        state = BOUND

root.bind("<F4>", closer)
state = BOUND
root.bind("<F5>", toggle_closer)

root.mainloop()

print('Terminated')