• 9460阅读
  • 15回复

[提问]qmenu 怎样做成这种样式? 当点击三角,自动向上滚动? [复制链接]

上一主题 下一主题
离线rjw1900
 

只看楼主 倒序阅读 楼主  发表于: 2012-06-15


如题,怎样实现?谢谢
离线jdwx

只看该作者 1楼 发表于: 2012-06-15
回 楼主(rjw1900) 的帖子
那个是不是菜单太长了,屏幕装不下,自己隐藏起来了?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线rjw1900

只看该作者 2楼 发表于: 2012-06-15
回 1楼(jdwx) 的帖子
恩对,当菜单过多的时候,就在最下方显示一个小三角,当点击小三角的时候,菜单自动往上滚动,
该怎么实现啊?有什么思路吗?
离线jdwx

只看该作者 3楼 发表于: 2012-06-15
回 2楼(rjw1900) 的帖子
这个不用实现,多多的增加QAction到一个QMenu。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线rjw1900

只看该作者 4楼 发表于: 2012-06-15
回 3楼(jdwx) 的帖子
不行,我在里边加了 60多个 action,可是依然没有出现这种效果,反而把整个屏幕都沾满了

是不是要设置什么属性啊?
离线jdwx

只看该作者 5楼 发表于: 2012-06-15
回 4楼(rjw1900) 的帖子
试了一下,居然菜单变多排了。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线rjw1900

只看该作者 6楼 发表于: 2012-06-15
嗯,效果就是变多排了。。
离线rjw1900

只看该作者 7楼 发表于: 2012-06-18
有人会吗?  或者也可以限制一列 显示 固定的 action
离线rjw1900

只看该作者 8楼 发表于: 2012-06-25
10天过去了,依然没人回复。。好冷
离线rpdhunter

只看该作者 9楼 发表于: 2012-06-25
我有一个比较笨的方法:
1.继承类QMenu,然后在新类中自定义三个私有变量:一个QList<QAction*>类型的数组变量,用于保存这个菜单的动作,再定义 一个整形变量max=5,设定显示最大动作数为5,另一个整形变量记录当前显示的位置,比如int now。
2.除正常添加Action进入这个菜单外,再添加两个特殊的Action:向上的箭头和向下的箭头
3.点击向上箭头会使now-1,单击向下箭头使now+1,并作相应的Action添加删除操作。
4.楼主可以再设定一定的函数控制箭头(比如now=0时向上箭头隐藏等)。
希望能对楼主有一定帮助
离线rpdhunter

只看该作者 10楼 发表于: 2012-06-25
不过还是不建议几十个Action放在一个菜单里,看着多累啊
离线jdwx

只看该作者 11楼 发表于: 2012-06-25
回 9楼(rpdhunter) 的帖子
此方法不可行,QMenu弹出后,不管鼠标点哪里,都会关闭。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线rpdhunter

只看该作者 12楼 发表于: 2012-06-26
确实是这样,不过可以变通一下。

向上 向下两个三角形,使用其他widget制作就可以了
离线david4383

只看该作者 13楼 发表于: 2013-01-16
楼主,我想问一下,你的菜单效果是怎么实现的?我也想实现这样的效果。
QQ:523183622
离线XChinux

只看该作者 14楼 发表于: 2013-01-16
这个与style有关的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线gonboy

只看该作者 15楼 发表于: 2014-11-01
楼主是否实现此方法?
目前也在困扰中
快速回复
限100 字节
 
上一个 下一个