python3tkinter键盘快捷键调用函数

2024-06-26 13:53:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过按键盘上的两个键来调用一个函数。示例:Ctrl+N

self._first_event = None
self._second_event = None

def function(self, event):
    if self._first_event == None:
        self._first_event = event
    else:
        self._second_event = event
        if self._first_event == 'Ctrl' and self._second_event == 'n':
            return someotherfunction()

我试过这个代码,但是它没有调用someotherfunction()


Tags: and函数selfnoneevent示例ifdef
1条回答
网友
1楼 · 发布于 2024-06-26 13:53:03

此代码正在执行您要实现的目标:

from tkinter import *

def someotherfunction(e=None):
    print('It works !')

root = Tk()
root.bind('<Control-n>', someotherfunction)
root.mainloop()

我认为这是一个更合适的方式来做这件事,而不是你试图去做。顺便说一下,如果您查看事件对象的documentation,它包含多个内容,因此您无法将其与这样的字符串进行比较。例如,您应该使用event.keysym。在

注意:

<a>对应于A

<A>对应于Shift+A

<Control-n>对应于Ctrl+N

<Control-N>对应于Ctrl+Shift+N

相关问题 更多 >