【问题标题】:python tkinter - Bind a "Global" key shortcut which can be triggered from outside the windowpython tkinter - 绑定可以从窗口外触发的“全局”快捷键
【发布时间】:2021-10-25 16:39:25
【问题描述】:

我正在考虑是否有任何方法可以将“GLOBAL”键绑定绑定到 tk/ttk 小部件

例如: 在这段代码中:

import tkinter as tk

def output(lines = 'hehehehe'):
    print(lines)

root = tk.Tk()

button = tk.Button(root, text ='HAHAHA', command = lambda:output('hahaha'))
button.pack()

root.bind('<Control-a>', output)
root.mainloop()

现在,每当我在窗口处于活动状态时按 Control+A 时,函数 output() 就会起作用..

但是,当我启动任何其他窗口并使此 tk-window 处于非活动状态时,键绑定不起作用...

有什么方法可以绑定“GLOBALLY”吗?

【问题讨论】:

  • 使用keyboard模块(pip install keyboard),不要认为有一个内置的tkinter方法

标签: python tkinter binding ttk


【解决方案1】:

不可能,您无法在tkinter 中访问全局按键,您将不得不使用其他一些外部库,例如keyboard,应该相当容易。

先用pip install keyboard安装库,然后:

import tkinter as tk
import keyboard

....
keyboard.add_hotkey('ctrl+a', output, args=('From global keystroke',))
root.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 2015-04-28
    • 1970-01-01
    • 2017-11-12
    • 2022-12-09
    • 2020-02-06
    • 1970-01-01
    相关资源
    最近更新 更多