根据鼠标所在位置获取组件拿到 “qt_scrollarea_viewport” 组件的问题
问题起因:
有时候需要鼠标实时所在位置的组件,可以通过如下方法实时获取:
QWidget *current_widget = QApplication::widgetAt(QCursor().pos());
qDebug() << __FUNCTION__ << current_widget;// 如果是按钮,直接进行转换
QPushButton *btn = qobject_cast<QPushButton*>(current_widget )
if (btn)
{// process
}
但是在使用过程中,有一个问题,就是在 QTableView、QTreeView 等 view-model 类型的组件中,是拿不到具体的组件的,通过上述方法,只能拿到 object_name = “qt_scrollarea_viewport” 的组件。
// 比如鼠标所在的位置是一个Button,checkbox等常规组件,那没啥问题// 但是如果是点击的是QTableView 或 QTreeView 等组件就不行,你点击每个Item,都是同一个object
解决方法
QTableView、QTreeView 等 view-model 类型的组件由于视图和模型的关系,使用QApplication::widgetAt(QCursor().pos()) 拿到的是子组件 qt_scrollarea_viewport,它的父组件(parentWidget)才是当前需要的组件。
QWidget *current_widget = QApplication::widgetAt(QCursor().pos());
qDebug() << __FUNCTION__ << current_widget;if ("qt_scrollare_viewport" == current_widget->objectName())
{QWidget *actual_widget = current_widget->parentWidget();qDebug() << __FUNCTION__ << actual_widget;
}
参考:qt-find-actual-widget-underneath-viewport-at-coordinates
相关文章:
根据鼠标所在位置获取组件拿到 “qt_scrollarea_viewport” 组件的问题
问题起因: 有时候需要鼠标实时所在位置的组件,可以通过如下方法实时获取: QWidget *current_widget QApplication::widgetAt(QCursor().pos()); qDebug() << __FUNCTION__ << current_widget;// 如果是按钮,直接进行转换 QPus…...
深入浅出WebRTC—LossBasedBweV2
WebRTC 同时使用基于丢包的带宽估计算法和基于延迟的带宽估计算法那,能够实现更加全面和准确的带宽评估和控制。基于丢包的带宽估计算法主要依据网络中的丢包情况来动态调整带宽估计,以适应网络状况的变化。本文主要讲解最新 LossBasedBweV2 的实现。 1…...
就业难?誉天Linux云计算架构师涨薪班,不涨薪退学费
2024年,我国高校毕业生人数约为1179 万人,再创历史新高。根据智联招聘今年发布的《大学生就业力调研报告》,可以看到:应届生慢就业、自由职业的比重分别从去年的18.9%、13.2%增长到今年的19.1%、13.7%。 这里我们可以看出…...
从零开始!Jupyter Notebook的安装教程
目录 一、准备工作二、安装Jupyter Notebook方法一:使用pip安装方法二:使用Anaconda安装 三、配置和使用四、常见问题及解决办法如何解决Jupyter Notebook安装过程中遇到的依赖项无法同步的问题?Jupyter Notebook的配置文件在哪里,…...
FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发
源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 在之前的文章:FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码,这次分享留言功能开发 我们梳理…...
04-数据库MySQL
一、项目要求 二、项目过程介绍 1、新建数据库 2、新建表 3、处理表 1.修改student 表中年龄(sage)字段属性,数据类型由int 改变为smallint 2.为Course表中Cno 课程号字段设置索引,并查看索引 3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引…...
神经网络理论(机器学习)
motivation 如果逻辑回归的特征有很多,会造出现一些列问题,比如: 线性假设的限制: 逻辑回归是基于线性假设的分类模型,即认为特征与输出之间的关系是线性的。如果特征非常多或者特征与输出之间的关系是非线性的&#…...
JNI回调用中不同线程的env无法找到正确的kotlin的class
不同线程都需要通过 JavaVM 获取到的 JNIEnv 指针, 如果有两个线程有两个 env。 其中一个是jni接口自己传过来的,可以正常使用,正常获取kotlin中的class。但是通过 JavaVM 新获取的env 无法找到kotlin的class 1. 确保线程已附加到 JVM 确保…...
免费HTML模板网站汇总
PS:基本上都是可以免费下载使用的,而且有一些是说明了可以用于商用和个人的。部分网站可能需要科学上网才能访问,如无法访问可留言或私信。 1、https://www.tooplate.com/free-templates 2、https://htmlrev.com/ 3、https://html5up.net/ 4、…...
大屏数据看板一般是用什么技术实现的?
我们看到过很多企业都会使用数据看板,那么大屏看板的真正意义是什么呢?难道只是为了好看?答案当然不仅仅是。 大屏看板不仅可以提升公司形象,还可以提升企业的管理层次。对于客户,体现公司实力和品牌形象,…...
在 Kubernetes 中设置 Pod 优先级及其调度策略详解
个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] 📱…...
Spring框架、02SpringAOP
SpringAOP 日志功能 基本方法 分析代码问题 目前代码存在两个问题 代码耦合性高:业务代码和日志代码耦合在了一起 代码复用性低:日志代码在每个方法都要书写一遍 问题解决方案 使用动态代理,将公共代码抽取出来 JDK动态代理 使用JDK动…...
基于python的网络爬虫爬取天气数据及可视化分析
要创建一个基于Python的网络爬虫来爬取天气数据并进行可视化分析,我们可以采用以下几个步骤来实现: 1. 选择数据源 首先,需要确定一个可靠的天气数据源。常用的有OpenWeatherMap、Weather API、Weatherstack等。这些API通常需要注册并获取一个API密钥(API Key)来使用。 …...
【WPF开发】上位机开发-串口收发
一、引言 在现代工业控制、嵌入式系统等领域,串口通信作为一种常见的通信方式,被广泛应用于各种场景。C#作为一门强大的编程语言,结合Windows Presentation Foundation(WPF)框架,可以轻松实现串口通信功能…...
ubuntu开启 远程登录 允许root远程登录
如果没有22端口服务 sudo apt update sudo apt install openssh-server sudo ufw allow.ssh sudo passwd root 修改配置文件 sudo vim /etc/ssh/sshd_config Port 22 修改为 Port 22 #PermitRootLogin prohibit-password 修改为 PermitRootLogin yes service ssh restart …...
《昇思25天学习打卡营第23天|RNN实现情感分类》
使用RNN进行情感分类:基于IMDB数据集的LSTM应用 引言 情感分析是自然语言处理(NLP)中的一个重要应用,广泛用于电影评论、社交媒体等文本数据的情感分类任务。本文将介绍如何使用递归神经网络(RNN)实现情感…...
机械设计基础B(学习笔记)
绪论 机构:是一些具备各自特点的和具有确定的相对运动的基本组合的统称。 组成机构的各个相对运动部分称为构件。构件作为运动单元,它可以是单一的整体,也可以是由几个最基本的事物(通常称为零件)组成的刚性结构。 构件…...
MybatisPlusException: Error: Method queryTotal execution error of sql 的报错解决
项目场景: 相关背景: 开发环境 开发系统时 系统页面加载正常 ,发布运行环境后运行一段时间,前端页面 突然出现 报错信息, 报错信息如下: MybatisPlusException: Error: Method queryTotal execution erro…...
人工智能领域的顶尖影响力人物(部分代表)
人工智能(AI)是模拟人类智能过程的计算机系统或机器的理论和开发。它致力于创建能够执行需要人类智能的任务的机器,如视觉感知、语音识别、决策制定和翻译之间的语言。AI领域包括机器学习、深度学习、自然语言处理等子领域,并涉及…...
Python:jsonl文件转json文件,并做字段处理
在使用LLaMA-Factory对shenzhi-wang/Llama3-8B-Chinese-Chat(https://huggingface.co/shenzhi-wang/Llama3-8B-Chinese-Chat/tree/main)进行微调时,希望使用COIG-CQIA的小红书数据集(https://huggingface.co/datasets/m-a-p/COIG-…...
通过环境变量安全配置Taotoken密钥实现跨平台开发
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过环境变量安全配置Taotoken密钥实现跨平台开发 在开发过程中,将API密钥等敏感信息硬编码在源代码中是常见的安全隐患…...
精通yum/dnf:从依赖地狱到高效Linux软件包管理
1. 从“依赖地狱”到“一键管理”:为什么你需要精通yum/dnf在Linux世界里,尤其是Red Hat系(RHEL、CentOS、Fedora、Rocky Linux、AlmaLinux)的用户,软件包管理是绕不开的日常。如果你还在用rpm -ivh一个接一个地手动安…...
listmonk容器资源监控告警:资源使用率阈值
listmonk容器资源监控告警:资源使用率阈值 你是否遇到过listmonk邮件列表管理器在高负载时突然卡顿?或者因服务器资源耗尽导致邮件发送中断?本文将详细介绍如何为listmonk容器配置资源监控与告警阈值,帮助你提前识别并解决资源瓶…...
NoFences:Windows桌面分区终极免费解决方案
NoFences:Windows桌面分区终极免费解决方案 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 在Windows系统中,桌面图标管理一直是用户面临的常见挑战。…...
Warcraft Helper完整指南:3步解决魔兽争霸3在Win10/Win11的兼容性问题
Warcraft Helper完整指南:3步解决魔兽争霸3在Win10/Win11的兼容性问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在W…...
倒置百分比堆叠面积图表示列详解|Highcharts大气成分图表代码
这是一个基于 Highcharts 实现的水平面积曲线图(areaspline 倒置坐标系),专门用于展示不同高度下地球大气成分的体积占比变化,是典型的百分比堆叠面积图,数据直观反映了大气层随高度升高的成分分布规律。我会从图表结…...
终极Koikatu游戏增强补丁:200+模组与完整汉化一键安装指南
终极Koikatu游戏增强补丁:200模组与完整汉化一键安装指南 【免费下载链接】KK-HF_Patch Automatically translate, uncensor and update Koikatu! and Koikatsu Party! 项目地址: https://gitcode.com/gh_mirrors/kk/KK-HF_Patch KK-HF Patch是专为Koikatu&a…...
Pixelle-Video完整指南:如何用AI在3分钟内创建专业短视频
Pixelle-Video完整指南:如何用AI在3分钟内创建专业短视频 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 在当今内容爆炸的时…...
3分钟掌握APK Installer:在Windows电脑上轻松安装安卓应用的终极方案
3分钟掌握APK Installer:在Windows电脑上轻松安装安卓应用的终极方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想在Windows电脑上直接运行An…...
3步搞定Linux启动盘:Deepin Boot Maker完全使用指南
3步搞定Linux启动盘:Deepin Boot Maker完全使用指南 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker 在Linux系统安装和维护过程中,启动盘制作是一个看似简单却充满挑战的环节。传统命令行工…...
