QListWidget::itemEntered无效

2023-11-02 08:10

本文主要是介绍QListWidget::itemEntered无效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

利用QListWidget进行数据列表的展示;

(1)初始化一个QListWidget:

QListWidget* newListWidget = new QListWidget(parent);

newListWidget->setResizeMode(QListView::Adjust);

newListWidget->setViewMode(QListView::IconMode);

newListWidget->setFocusPolicy(Qt::NoFocus);

newListWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

newListWidget->setStyleSheet(QString("QListWidget{border:0px;background:transparent;};"));

newListWidget->setItemDelegate(new PatternCraftsItemDelegate(newListWidget));

QString gScrollbarQSS = QString(

    "QScrollBar:vertical{width:%0px;background: #292929;margin:0px,0px,0px,0px;}"

    "QScrollBar::sub-page:vertical {background: #292929;}"/*修改滚动区域上部分的背景色*/

    "QScrollBar::add-page:vertical {background: #292929;}"/*修改滚动区域下部分的背景色*/

    "QScrollBar::handle:vertical{width:%0px;border-radius:%1px;background:#3c3c3c;}"/*修改滚动条正常状态的背景色*/

    "QScrollBar::handle:vertical:hover{width:%0px;border-radius:%1px;background:#3c3c3c;}"/*修改滚动条hover状态的背景色*/

    "QScrollBar::sub-line:vertical{background-color:#292929; border:none;height:0px;}"

    "QScrollBar::add-line:vertical{background-color:#292929; border:none;height:0px;}"

);

//设置滚动条的样式

newListWidget->verticalScrollBar()->setStyleSheet(gScrollbarQSS.arg(_S(6)).arg(_S(3)));

newListWidget->setMovement(QListView::Static);

newListWidget->setSpacing(_S(8));

newListWidget->setMouseTracking(true);

connect(newListWidget, &QListWidget::itemEntered, this, &XX::onItemHover);

(2)发现QListWidget自带的QListWidget::itemEntered,进不去对应的槽函数onItemHover

试了好多方法都不行,这个信号就是进不来,一顿顿神操作。

给QListWidget设置setMouseTracking(true),解决了。

这样就解决了。

(3)了解下:QWidget::setMouseTracking(bool enable)

QT帮助文档是这样解释的:

此属性保存小部件是否启用了鼠标跟踪

如果禁用了鼠标跟踪(默认值),则当移动鼠标时至少有一个鼠标按钮被按下时,小部件才会接收鼠标移动事件。

如果启用了鼠标跟踪,即使没有按下按钮,小部件也会接收到鼠标移动事件。

也就是说:要是没有对QListWidget 进行设置setMouseTracking(true),除非对列表的item进行点击,否则不能接收到对应的信号。

用对应的控件时候,还是得多了解对应的Api。

这篇关于QListWidget::itemEntered无效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/329273

相关文章

真实案例分享:零售企业如何避免销售数据的无效分析?

在零售业务的数据分析中,无效分析不仅浪费时间和资源,还可能导致错误的决策。为了避免这种情况,企业必须采取策略来确保他们的数据分析工作能够产生实际的商业价值。本文将通过行业内真实的案例,探讨零售企业如何通过精心设计的数据策略和分析方法,借助商业智能BI工具,避免销售数据的无效分析,确保每一次分析都能为业务增长提供有力的支持。 文章中提到的BI数据分析工具分享给大家—— https://s.fan

1字节的UTF-8序列的字节1无效

使用DOMReader解析XML文档时候报错”1字节的UTF-8序列的字节1无效”,我这里的解决方法。 1.手动将< ? xml version=”1.0” encoding=”UTF-8”?>中的UTF-8更改成UTF8,这样就可以了。 2.使用文本编译器把xml文档改成以UTF8无BOM编码格式就可以了。

pycharm项目里有中文右下角修改无效怎么办 包括注释里有中文

在我们编写pycharm项目时,可能会遇到项目里面有中文运行导致报错,即使我们在右下角修改编码格式,还是无效的  解决办法:点击左上角File,Settings,找到Editor里面的File Encodings ,圈住的位置都要改为UTF-8点击Apply就可以了

分享一款专业清除无效注册表和优化工具

Wise Registry Cleaner Pro是一款专业的清除无效注册表和优化工具,它具有注册表清理、注册表整理、系统优化功能,并且能对注册表备份和还原,同时有着高效的注册表清理功能,清理无效的注册表残留垃圾文件,还能进行系统优化,优化相关系统设置,以提高系统速度。 一、软件功能 1、注册表清理:快速扫描注册表,有效识别和清理冗余信息,释放系统资源。 2、注册表优化:通过

myeclipse中deploy按钮以及manage deployments按钮无效

如果你使用的是10.7版本,可参考本文 出错: 1.Deployments 部署按钮失效; 2.MyEclipse 启动后初始化WorkSpaces抛出Deployment的空指针异常(java.lang.NullPointerException) 3.Servers选项卡中有相关异常信息如下: at com.genuitec.eclipse.ast.deploy.core.De

微信小程序:navigateTo跳转无效

关于 navigateTo 跳转无效问题,在IOS、模拟器上面都能正常跳转,但是在安卓上面不能跳转,过了一段时间IOS也不能跳转了。仔细找了下问题结果是要跳转的页面是tab,不能使用navigateTo 取跳转修改为: wx.switchTab({url: '/pages/tst/tst'}); 即可成功跳转,如果还有问题,请仔细检查要跳转的页面是否为tab页面

Msbuild Error:指定的配置Debug|MCD无效

以下内容翻译自https://helpdrive.wordpress.com/2011/07/10/the-specified-solution-configuration-debugmcd-is-invalid/ 在Windows下编译PostgreSQL代码时遇到错误,具体内容类似于 ------            The Specified solution configura

IE,FF下getElementsByName无效

IE和FF下通过getElementsByName获取dom失败的解决方法 var lis = getElementsByName("li",name);//第一个参数为tag标签 var getElementsByName = function(tag, name){var doms = document.getElementsByName(name);//获取到i

gitee绑定公钥后依旧无法使用_gitee push添加公钥无效

解决:         步骤按照官网操作即可:gitee官方说明         看看远程地址是否使用的http模式,是的话换ssh模式

VS2010LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏解决方法

在:项目\属性\配置属性\清单工具\输入和输出\嵌入清单: 如果为“是”,改成“否”。 在我的电脑上成功解决了这个问题