首页 > 解决方案 > Python Tkinter:绑定复杂事件

问题描述

例如,当我同时按住鼠标左键单击和“s”(小写)键时,我想在控制台中打印一些东西。我怎样才能做到这一点?这可能吗?

    def foo(event):
        print('foo')
    window = Tk()
    window.bind('what is the event here', foo)

标签: python-3.xtkinter

解决方案


您需要检查传递给回调的事件中的状态。

from tkinter import *


def foo(event):
    if event.state & (1 << 8):
        print('foo')


window = Tk()
window.bind('<Key-s>', foo)


window.mainloop()

推荐阅读