找回密码
 立即注册
收起左侧

怎么实现点击ListwidgetItem就会凹下去

13
回复
9537
查看
[复制链接]
累计签到:4 天
连续签到:1 天
来源: 2013-10-27 21:32:39 显示全部楼层 |阅读模式
3Qter豆
本帖最后由 pursue 于 2013-10-27 21:41 编辑

如何实现鼠标在ListWidgetItem上面时会变颜色,然后按下去的时候,按钮会凹下去,松开的时候又回复原来的样子。  是不是要重载函数?

求指导!

最佳答案

查看完整内容

QListWidget { show-decoration-selected: 1; /* make the selection span the entire width of the view */ } QListWidget::item:selected { border: 1px solid rgb(0, 0, 0); } QListWidget::item:selected:!active { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ABAFE5, stop: 1 #8588B2); } QListWidget::item:selected:active { bac ...
回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2013-10-27 21:32:40 显示全部楼层
QListWidget {
     show-decoration-selected: 1; /* make the selection span the entire width of the view */
}


QListWidget::item:selected {
     border: 1px solid rgb(0, 0, 0);
}

QListWidget::item:selected:!active {
     background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                 stop: 0 #ABAFE5, stop: 1 #8588B2);
}

QListWidget::item:selected:active {
     background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                 stop: 0 #6a6ea9, stop: 1 #888dd9);
}

QListWidget::item:hover {
     background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                 stop: 0 rgb(220, 200, 200), stop: 1 rgb(80, 80, 80));
}

使用这个样式表,当鼠标点击一个item的时候会有效果,但是你说的松开以后那个效果,默认是没有的,因为ListWidget默认是需要有一个item是选中的,就它的行为而言,没有说点一下再松开那个效果。

上面只是颜色填充,如果想效果再好点就得用图片了。
回复

使用道具 举报

尚未签到

2013-10-28 09:10:52 显示全部楼层
这应该只需要实现鼠标的信号槽就可以了吧,按下去是press信号,松开是release信号
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-28 09:58:30 显示全部楼层
Joey_Chan 发表于 2013-10-28 09:10
这应该只需要实现鼠标的信号槽就可以了吧,按下去是press信号,松开是release信号 ...

可以不可以写详尽一点,万分感谢
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-28 10:07:15 显示全部楼层
Joey_Chan 发表于 2013-10-28 09:10
这应该只需要实现鼠标的信号槽就可以了吧,按下去是press信号,松开是release信号 ...

因为ListWidget按下去是没有凹下去的效果的,不像pushButton
回复

使用道具 举报

尚未签到

2013-10-28 11:49:02 显示全部楼层
pursue 发表于 2013-10-28 10:07
因为ListWidget按下去是没有凹下去的效果的,不像pushButton

效果可以自己弄嘛,这个是美工的问题,当你拿到press信号后把listview的当前item换个背景,release就换回来
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-10-28 12:20:53 显示全部楼层
样式表可以设置这些样式,你去qt的帮助文档 搜索Qt Style Sheets Examples,看一下有没相关的
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-28 13:55:46 显示全部楼层
a408815041 发表于 2013-10-28 12:20
样式表可以设置这些样式,你去qt的帮助文档 搜索Qt Style Sheets Examples,看一下有没相关的 ...

好郁闷啊listWidgetItem好像没有信号发出。。。
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-28 14:04:52 显示全部楼层
Joey_Chan 发表于 2013-10-28 11:49
效果可以自己弄嘛,这个是美工的问题,当你拿到press信号后把listview的当前item换个背景,release就换回 ...

关键是l我用connect()的时候发现listWidgetItem这个没有信号。
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-28 14:55:05 显示全部楼层
pursue 发表于 2013-10-28 13:55
好郁闷啊listWidgetItem好像没有信号发出。。。

只有这个press或者enter信号没有相关的release信号
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-28 14:55:36 显示全部楼层
a408815041 发表于 2013-10-28 12:20
样式表可以设置这些样式,你去qt的帮助文档 搜索Qt Style Sheets Examples,看一下有没相关的 ...

只有这个press或者enter信号没有相关的release信号
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-28 14:56:08 显示全部楼层
Joey_Chan 发表于 2013-10-28 11:49
效果可以自己弄嘛,这个是美工的问题,当你拿到press信号后把listview的当前item换个背景,release就换回 ...

只有这个press或者enter信号没有相关的release信号
回复

使用道具 举报

尚未签到

2013-10-28 16:15:32 显示全部楼层
pursue 发表于 2013-10-28 14:56
只有这个press或者enter信号没有相关的release信号

ListwidgetItem里面可以加别的控件来实现
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-10-28 16:19:37 显示全部楼层
Joey_Chan 发表于 2013-10-28 16:15
ListwidgetItem里面可以加别的控件来实现

请问怎么添加呀,能不能写一下代码,我比较菜。。。灰常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了