Distinguish between single and double click events in Qt

后端 未结 3 1633
Happy的楠姐
Happy的楠姐 2020-11-30 12:25

I have a QAbstractItemView that needs to react to single and double click events. The actions are different depending on whether it was single clicked or double

3条回答
  •  长情又很酷
    2020-11-30 13:09

    It's a good UI design to make sure your single-clicks and double-clicks are conceptually related:

    Single-Click: select icon
    Double-Click: select icon and open it
    
    Single-Click: select color
    Double-Click: select color and open palette editor
    

    Notice how in these examples the single-click action is actually a subset of the double-click. This means you can go ahead and do your single-click action normally and just do the additional action if the double-click comes in.

    If your user interface does something like:

    Single-Click: select icon
    Double-Click: close window
    

    Then you are setting your users up to fail. Even if they remember what single-clicking does versus double-clicking all the time, it's very easy to accidentally move your mouse too far while double-clicking or wait too long.

    Edit:

    I'm sorry to hear that.

    In that case, I found these two articles useful:

    • Logical consequences of the way Windows converts single-clicks into double-clicks
    • Implementing higher-order clicks

提交回复
热议问题