代码之家  ›  专栏  ›  技术社区  ›  AhmedWas

如何将两个绑定同时绑定到Tkinter中的同一个小部件?

  •  0
  • AhmedWas  · 技术社区  · 8 年前

    我想在某个入口 获得焦点并按下键 (不仅仅是聚焦,也不仅仅是按键)

    我的意思是

    entry.bind('<FocusIn>', '<Key>', myFunction)
    

    我知道我可以先检查焦距,然后在按下键时应用该功能,但我想知道我是否可以在某种程度上使其与上面一样。

    2 回复  |  直到 8 年前
        1
  •  0
  •   Nummer_42O    8 年前

    不,实际上没有办法。我自己也不确定,所以我尝试了如下方法:

    root.bind('<FocusIn-Key>',callback) #callback=print
    

    以及:

    root.bind('<Key-FocusIn>',callback) #callback=print
    

    但什么都没用。所以我想说绑定 '<Key>' -顺序和检查焦点将是最好的解决方案。

        2
  •  0
  •   ZackBoi    8 年前

    也许可以使用一些愚蠢的方法组合到绑定,但是,获得焦点和键盘事件的组合是不可能的,因为小部件只开始寻找键盘事件 之后 它是焦点。如果不是这样的话,你所要求的是可能的,但这也意味着如果你有多个小部件绑定到键盘事件,它们都会在你输入字符时激活。 正如我在开始时所说的,可能有一些方法来实现它,这样,如果同时按下两个键,就可以运行所需的功能。但是,鼠标单击和键盘事件只有在最初的鼠标单击之后才可能发生(这有点多余)。