【问题标题】:The Ctrl+Shift+a not working inTkinter bind_allCtrl+Shift+a 在Tkinter bind_all 中不起作用
【发布时间】:2021-01-22 10:00:18
【问题描述】:

我正在尝试重新创建记事本。我添加了很多快捷键,两个键的组合。我正在尝试创建三个组合快捷方式,即Ctrl+Shift+s。但是当我使用<Control-Shift-Key-s> 时,它不起作用。我什至尝试过app.bind<Control-Shift-KeyPress-s>,我在堆栈溢出中的Control+Shift+Tab 键绑定中找到了它。当我使用Tab 而不是s 时,它起作用了,当我使用s 时,什么也没有发生。我想创建Control+Shift+s 的键绑定。我该怎么做?
这是我的代码:

from tkinter import *

app = Tk()

def SaveAs(event):
    #Some code to save as new file.
    print('Pressed Ctrl+Shift+s.')

app.bind_all('<Control-Shift-Key-s>', SaveAs)

【问题讨论】:

    标签: python tkinter binding keyboard-shortcuts


    【解决方案1】:

    确保你没有混淆大写和小写,因为在 Tkinter 中,"&lt;Control-S&gt;" 表示 CTRL-SHIFT-S"&lt;Control-s&gt;" 表示 CTRL-S

    所以,这一行:

    app.bind_all('<Control-Shift-Key-s>', SaveAs)
    

    必须

    app.bind_all('<Control-S>', SaveAs)
    

    【讨论】:

    • 哦,我什至没有想到SShift+s的组合。谢谢,这真的很有帮助。
    • 不客气,很高兴能帮到你。
    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 2011-09-22
    • 1970-01-01
    相关资源
    最近更新 更多