如何让控件随着鼠标滚轮转动而移动?

Willib 2015-12-31 03:55:26
我的demo中有6个button,当我把窗口缩小时,有几个button被隐藏了,如图:


我应该怎么才能实现,当我把窗口缩小时,在button上滚动鼠标能够让所有的button控件能跟着移动,把后面隐藏的button5,6移到当前窗口视线中来啊?

万分感谢了!!
...全文
386 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Willib 2016-01-04
  • 打赏
  • 举报
回复
http://blog.csdn.net/willib/article/details/50457867,采用QListwidget实现了这个功能。
Willib 2016-01-03
  • 打赏
  • 举报
回复
引用 3 楼 shihoongbo 的回复:
这得看你的后期需求 如果整个界面上有很多元素,只需要button跟着滚动,而其他控件不需要跟着滚动,那么得把button放在一个QWidget上,然后在QWidget上放置隐藏一个QScrollBar,然后重写QWidget的鼠标滚轮事件来实现滚动和QSscrollBar的设定值 如果需求整个界面上所有的元素都要跟着滚动,那么就把QScrollBar放在根控件上隐藏,然后重写根控件的鼠标滚轮事件和QScrollBar的设定值即可 http://blog.csdn.net/shihoongbo/article/details/47103099
非常感谢哈!
Willib 2016-01-03
  • 打赏
  • 举报
回复
引用 2 楼 u013466477 的回复:
把button放在QScrollArea上,然后把QScrollArea的滚动条隐藏,然后重写QScrollArea滚轮事件 鼠标滚轮就可以控制隐藏的水平滚动条的值了,鼠标滚轮滚动则horizontalScrollBar()->setvalue(value);
谢谢谢谢,我都不知道滚条是可以隐藏……我弄来试试,
未狂 2016-01-03
  • 打赏
  • 举报
回复
这得看你的后期需求 如果整个界面上有很多元素,只需要button跟着滚动,而其他控件不需要跟着滚动,那么得把button放在一个QWidget上,然后在QWidget上放置隐藏一个QScrollBar,然后重写QWidget的鼠标滚轮事件来实现滚动和QSscrollBar的设定值 如果需求整个界面上所有的元素都要跟着滚动,那么就把QScrollBar放在根控件上隐藏,然后重写根控件的鼠标滚轮事件和QScrollBar的设定值即可 http://blog.csdn.net/shihoongbo/article/details/47103099
冷静忍耐 2015-12-31
  • 打赏
  • 举报
回复
把button放在QScrollArea上,然后把QScrollArea的滚动条隐藏,然后重写QScrollArea滚轮事件 鼠标滚轮就可以控制隐藏的水平滚动条的值了,鼠标滚轮滚动则horizontalScrollBar()->setvalue(value);
Willib 2015-12-31
  • 打赏
  • 举报
回复
就是我把鼠标放在控件上,整个类似工具条的控件可以跟着我的鼠标滚轮的转动而移动,就类似QScrollBar工具条实现的滑动效果,谢谢了!

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧