Qt之QTableView显示鼠标悬浮下的项的信息

这篇具有很好参考价值的文章主要介绍了Qt之QTableView显示鼠标悬浮下的项的信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        业务上遇到一些需求,某个需求是当鼠标移动到QTableView的item上时,显示该item的某些信息。首先想到的思路就是鼠标悬浮事件,即安装QTableView的事件过滤器,然后在eventFilter进行判断即可。实现很简单,主要在针对qt界面处理子界面的事件响应时,主要是还没搞清楚ui.tableView->viewport()->installEventFilter(this)的使用场景,就先记录一下。步骤如下:

1、安装QTableView的事件过滤器

ui.tableView->installEventFilter(this);
​

网上有一种说法,还需要使用ui.tableView->viewport()->installEventFilter(this),否则QTableView的事件过滤器无效,不过我目前还没有遇到这种情况。

2、重写eventFilter

bool MyViewWidget::eventFilter(QObject *obj, QEvent *event)
{
	if (obj == ui.tableView)
	{
		if (event->type() == QEvent::HoverMove)
		{
			QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(event);
			QPoint pt = mouseEvent->pos();
			qDebug() << "move:" << pt;

			QModelIndex index = ui.tableView->indexAt(pt);
			if (!index.isValid())
			{
				return QWidget::eventFilter(obj, event);
			}
			qDebug() << "index.row:" << index.row()
				<< " index.column:" << index.column();

			onShowInfo(index.row() + 1, index.column() + 1);
		}
	}
	return QWidget::eventFilter(obj, event);
}

​

以上代码捕获到鼠标悬浮在QTableview上的事件,然后根据鼠标的pos得出当前的item的QModelIndex。文章来源地址https://www.toymoban.com/news/detail-536526.html

到了这里,关于Qt之QTableView显示鼠标悬浮下的项的信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt 之按钮鼠标 悬浮、按下、松开后的效果

    本文介绍了Qt中的按钮实现响应鼠标悬浮、按下、松开后的效果,在三种状态下,按钮改变不同的背景图片。 方式1:通过修改样式表的方式去实现; 方式2:通过继承QPushButton去实现一个自定义的按钮; 方式3:在主界面中给按钮安装事件过滤器的方式去实现 这里尽量不要有

    2024年02月10日
    浏览(22)
  • elementUI el-table实现鼠标悬浮某一行,在鼠标右侧展示提示信息

    背景 el-table组件中,可以通过勾选某条数据来创建单据,但是有些数据没有权限使用,就需要禁用掉勾选的功能,然后当鼠标悬浮在这一行的时候,展示类似于toolTip的提示框。 除了当鼠标悬浮在某一行,展示类似于toolTip的提示框这一条el-table是没有提供配置项的,其他的都

    2024年02月08日
    浏览(30)
  • Echarts 清空画布空白以及鼠标悬浮提示信息格式化问题

    清空画布用clear()会导致图表空白  通过上述方式清空画布不会空白 鼠标悬浮信息格式化取值

    2024年02月14日
    浏览(20)
  • Element UI 之table表格表头过长使用点点…显示,并添加鼠标移入悬浮显示

    需求 鼠标移入表头 关键点: 1.样式中添加:(如果在scope中会不起作用) 2.在需要悬浮显示的表头文字过长处添加 3.methods中添加: 实现 转载处:https://blog.csdn.net/qq_43519782/article/details/116647539

    2024年02月12日
    浏览(18)
  • Vue实现鼠标悬浮隐藏与显示图片效果 @mouseenter 和 @mouseleave事件

    前端vue 有个功能是鼠标移动到指定item上显示出来一个编辑和删除的图标 鼠标悬停在列表那么需要有悬浮显示的列表编辑和删除icon 文字不好描述,因为是web端录屏也比较麻烦 这里用截图说明 之前没做过这种效果,问了一下我的组长-豪哥 他告诉我很简单,利用vue的@mouseent

    2023年04月08日
    浏览(66)
  • VUE+Vis.js鼠标悬浮title提前显示BUG解决方法

    在使用VUE+Vis.js做拓扑图,利用鼠标悬浮放在图标展示设备信息时,发现鼠标一放在图标上面时,标题表会提前在放置的元素下显示,鼠标再放到图标上去元素才会隐藏变成悬浮状态  解决方法: 添加一个div元素,设置 v-show=\\\"false\\\" ,将作为悬浮窗的元素放进去,因为v-show只是

    2024年01月23日
    浏览(28)
  • Layui Table 鼠标悬浮弹层显示超出内容、Table基本操作

    JS的DOM之鼠标悬浮事件 鼠标悬浮事件之 mouseover()和 mouseout()事件 鼠标在这块区域时候会触发相应事件,将鼠标挪开则恢复原先事件 悬浮事件编写 实现效果  

    2024年02月11日
    浏览(22)
  • 基于Qt数据库项目实现(Sqlite3为例)|考查数据库、表格(QTableView 显示)(进阶)

    01 数据库表格(QTableView 显示) 本小节设计一个生活中的例子,使用数据库修改/查询员工的编号、姓名、年龄、性别与照片信息。 本例将数据库的内容显示到 QTableView 上。如果只是简单的显示数据库的内容到QTableView 上,可以使用下面的方法,此方法 QTableView 上可以看到

    2024年02月20日
    浏览(24)
  • 【QT入门】 Qt自定义控件与样式设计之QPushButton实现鼠标悬浮按钮弹出对话框

    往期回顾: 【QT入门】 Qt自定义控件与样式设计之qss选择器-CSDN博客 【QT入门】 Qt自定义控件与样式设计之QLineEdit的qss使用-CSDN博客 【QT入门】Qt自定义控件与样式设计之QPushButton常用qss-CSDN博客 鼠标悬浮弹出对话框的功能:最终要实现纯代码设计出一个音量按钮,当鼠标悬浮

    2024年04月23日
    浏览(19)
  • CSS:实现文字溢出显示省略号且悬浮显示tooltip完整信息

    组件: element ui中的tooltip组件 思路:通过ref获取宽度进行判断,当子级宽度大于对应标签/父级宽度显示tooltip组件

    2024年02月09日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包