Qt鼠标悬浮在图片上显示删除字样

简介: Qt鼠标悬浮在图片上显示删除字样

用Qt实现这样一个效果,当鼠标悬浮到图片上时,显示删除字样,当点击删除时删除该图片。常用在注册页面。例:

实现方法:用QLabel展示图片,再用一个QPushButton覆盖在图片上,按钮背景设置为透明,当鼠标移动到图片上时按钮显示,其他情况按钮隐藏。删除图片在点击删除按钮时进行。

因此需要重写鼠标移动事件:

void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
    QRect rect(ui->label->pos(), ui->label->size());
    ui->pushButton_2->setVisible(rect.contains(event->pos()) && ui->label->isVisible());
}

按钮显示与否取决于当前鼠标是否在rect矩形范围中以及当前是否有图片(没有图片还删什么?)。

需要注意的是窗体要设置setMouseTracking(true); 设置为true,当鼠标移动时便能检测到鼠标移动事件。否则需要按下鼠标并且移动才能检测到。解释:

同时QLabel和QPushButton也需要设置该选项。

删除按钮背景色:

background-color: rgba(192, 192, 192, 50);

源码地址:

demo4 鼠标悬浮在图片上时,出现删除字样,点击删除可以删除该图片

相关文章
|
6月前
|
计算机视觉 C++
基于Qt的简易图片浏览器设计与实现
基于Qt的简易图片浏览器设计与实现
292 1
|
6月前
|
存储 机器学习/深度学习 人工智能
Qt魔法书:打造自定义鼠标键盘脚本(二)
Qt魔法书:打造自定义鼠标键盘脚本
214 0
|
6月前
|
存储 容器
QT中QListWidget实现QListWidgetItem图片和文字居中
在使用QT开发软件的过程中,很多时候使用QListWidget来实现列表项的功能,比如MS系统的功能模块菜单,如下面2张图所示,其中第一张图是带文字和图标的列表项,第二张图是纯图标的模式,在最近开发的平台客户端的某个功能模块都用上了。
1013 0
|
存储 Cloud Native Linux
Qt 关于mouseTracking鼠标追踪和tabletTracking平板追踪的几点官方说明
Qt 关于mouseTracking鼠标追踪和tabletTracking平板追踪的几点官方说明
|
4月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
180 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
3月前
|
计算机视觉
使用QT显示OpenCV读取的图片
使用QT显示OpenCV读取的图片
69 1
|
5月前
Qt绘图(线条、椭圆、矩形、图片滚动)
Qt绘图(线条、椭圆、矩形、图片滚动)
343 3
|
5月前
|
算法 计算机视觉
【Qt&OpenCV QGraphicsView显示OpenCV读入的图片】
【Qt&OpenCV QGraphicsView显示OpenCV读入的图片】
75 0
|
6月前
|
开发框架 Linux API
Qt魔法书:打造自定义鼠标键盘脚本(一)
Qt魔法书:打造自定义鼠标键盘脚本
79 0