【问题标题】:List of All Tkinter Events所有 Tkinter 事件列表
【发布时间】:2015-11-24 04:26:40
【问题描述】:

在Python的tkinter模块中,<Button-1><Button-2><Button-3>分别用于识别鼠标左键、中键和右键的点击。

同样,<KeyPress-Return> 用于返回键。

在哪里可以找到所有此类事件的列表,包括各种键盘按键的名称?

Tcl bind manual 没有这些。

【问题讨论】:

    标签: python events tkinter tcl


    【解决方案1】:

    可以在effbot.orgdocs provided by New Mexico Tech 上找到绑定和事件的一般列表,而除了original documentation 之外,还列出了几个键的名称here

    以下是最常见事件的摘要,并解释了一些按键名称:

    <Button-1>        Button 1 is the leftmost button, button 2 is the middle button
                      (where available), and button 3 the rightmost button.
    
                      <Button-1>, <ButtonPress-1>, and <1> are all synonyms.
    
                      For mouse wheel support under Linux, use Button-4 (scroll
                      up) and Button-5 (scroll down)
    
    <B1-Motion>       The mouse is moved, with mouse button 1 being held down (use
                      B2 for the middle button, B3 for the right button).
    
    <ButtonRelease-1> Button 1 was released. This is probably a better choice in
                      most cases than the Button event, because if the user
                      accidentally presses the button, they can move the mouse
                      off the widget to avoid setting off the event.
    
    <Double-Button-1> Button 1 was double clicked. You can use Double or Triple as
                      prefixes.
    
    <Enter>           The mouse pointer entered the widget (this event doesn’t mean
                      that the user pressed the Enter key!).
    
    <Leave>           The mouse pointer left the widget.
    
    <FocusIn>         Keyboard focus was moved to this widget, or to a child of
                      this widget.
    
    <FocusOut>        Keyboard focus was moved from this widget to another widget.
    
    <Return>          The user pressed the Enter key. For an ordinary 102-key
                      PC-style keyboard, the special keys are Cancel (the Break
                      key), BackSpace, Tab, Return(the Enter key), Shift_L (any
                      Shift key), Control_L (any Control key), Alt_L (any Alt key),
                      Pause, Caps_Lock, Escape, Prior (Page Up), Next (Page Down),
                      End, Home, Left, Up, Right, Down, Print, Insert, Delete, F1,
                      F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Num_Lock, and
                      Scroll_Lock.
    
    <Key>             The user pressed any key. The key is provided in the char
                      member of the event object passed to the callback (this is an
                      empty string for special keys).
    
    a                 The user typed an “a”. Most printable characters can be used
                      as is. The exceptions are space (<space>) and less than
                      (<less>). Note that 1 is a keyboard binding, while <1> is a
                      button binding.
    
    <Shift-Up>        The user pressed the Up arrow, while holding the Shift key
                      pressed. You can use prefixes like Alt, Shift, and Control.
    
    <Configure>       The widget changed size (or location, on some platforms). The
                      new size is provided in the width and height attributes of
                      the event object passed to the callback.
    
    <Activate>        A widget is changing from being inactive to being active.
                      This refers to changes in the state option of a widget such
                      as a button changing from inactive (grayed out) to active.
    
    
    <Deactivate>      A widget is changing from being active to being inactive.
                      This refers to changes in the state option of a widget such
                      as a radiobutton changing from active to inactive (grayed out).
    
    <Destroy>         A widget is being destroyed.
    
    <Expose>          This event occurs whenever at least some part of your
                      application or widget becomes visible after having been
                      covered up by another window.
    
    <KeyRelease>      The user let up on a key.
    
    <Map>             A widget is being mapped, that is, made visible in the
                      application. This will happen, for example, when you call the
                      widget's .grid() method.
    
    <Motion>          The user moved the mouse pointer entirely within a widget.
    
    <MouseWheel>      The user moved the mouse wheel up or down. At present, this
                      binding works on Windows and MacOS, but not under Linux.
    
    <Unmap>           A widget is being unmapped and is no longer visible.
    
    <Visibility>      Happens when at least some part of the application window
                      becomes visible on the screen.
    

    【讨论】:

    • 此处并未列出所有的键符。低级的东西总是可以提出我们从未听说过的键符。有时,您最终不得不尝试并查看。
    【解决方案2】:

    尝试查看模块tkinter/__init__.py源代码中class EventType的定义。

    通常对我来说,如果发生异常,此模块会在我的 Wing IDE 中显示为一个选项卡。

    【讨论】:

    • 你能详细说明你的答案吗?例如,您应该提供一个示例,说明这些工具如何帮助解决问题,或者至少提供指向更多文档的链接。
    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多