tengwenhao 2015-05-06 16:49 采纳率: 66.7%
浏览 3344
已结题

Qt 按一次滚动条就可以拖拽,再按一次就释放。怎么实现?

Qt 按一次滚动条就可以拖拽,再按一次就释放。不需要像常规滚动条需要一直按住鼠标左键。怎么实现?

  • 写回答

4条回答 默认 最新

  • 不得闲 2015-05-06 17:33
    关注

    不知道QT如何,Windows下可以捕捉控件消息,然后设定一个状态,MouseDown的时候,先判定这个状态如果为true那么设置为False,之后的鼠标
    移动操作不做任何处理,否则设置为true,那么以后鼠标的任何位置移动就发送WMMouseWheel鼠标滚动消息,或者说自己调用滚动条的滚动消息WM_VScroll,WM_HScroll等来进行滚动条滚动,如果为

    评论
  • lx624909677 2015-05-06 20:28
    关注

    在单击信号对应的槽函数里加个按键判断,第一次时再发送个一直按着的信号,第二次时发送一个按键up的信号

    评论
  • tengwenhao 2015-05-07 17:35
    关注

    我找到了 可以重写Qscrollbar的mousepressEvent, mouseMoveEvent;跟随鼠标移动,现在需要解决的是在点击后,鼠标只能上下移动的问题

    评论
  • tengwenhao 2015-05-07 18:13
    关注

    BOOL WINAPI ClipCursor(
    In_opt const RECT *lpRect
    );
    可以控制鼠标的范围

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部