使用QT实现拖拽文件检测

使用QT实现拖拽文件检测


一、简介

在一些网页或者软件中,经常存在一些拖拽放入即可实现获取文件的操作,而在Qt中,也可以实现类似的操作。这不仅能够给我们带来很好的交互体验,也能使得一些操作变得简单。

以下是本文将实现效果示意图:

在这里插入图片描述

在开始实现之前需要提一下,我这里使用的开发平台是:

使用开发平台:

  • Windows 10
  • Qt 5.12.3

编译环境:

  • MinGW 32-bit Debug

理论上来讲,使用其他版本的Qt也能实现类似的效果。另外,值得注意的是,在本文中将不再赘述新建工程相关的操作,需要的朋友可以自行搜索!本文着重讲代码部分,望谅解!!!


二、 UI 设计

在新建工程的过程中使用 widget 模板创建 UI 文件。随后对 UI 进行如下绘制:

在这里插入图片描述

图中箭头有点密集,可自行放大查看!!!另外由于我对Qt进行了主题颜色的更改,因此图中不是最后效果图。

布局方面没有什么好解释的,在对 Label_2 的处理上,采用了一张 png 图标,这里需要对其属性进行以下设置:

在这里插入图片描述

同时,需要提前将该图片文件添加进资源库,否则会出现编译之后不显示的情况。不会这步操作的话,这里可以看一下这位大佬的文章:Qt之使用图片填充QLabel_qt怎么把图片嵌入到程序的内标签空间-CSDN博客

另外,我对图中的 widget 控件属性样式进行了更改,其样式为:

QWidget {
   
   
    background-color: rgb(209, 209, 209);
    border-radius:10%;
}

更改样式的操作也不再赘述,不会的朋友可以自行百度!本文着重讲代码部分,望谅解!!!

由此,我们对 UI 部分构建完成,其运行后的样式为:

在这里插入图片描述


三、代码构建

这里我所建立的工程结构如下所示,后续描述中,将用图中的文件名代替

在这里插入图片描述

这里实现思路是,重写 dragEnterEvent、dragLeaveEvent、dropEvent 三个事件,其分别是 拖动进入的时候事件触发、拖动离开的时候事件触发、拖动触发

具体介绍可以参考该大佬的文章:Qt应用开发(基础篇)——拖放机制 Drag and Drop_qt拖动时间-CSDN博客

  • 首先将对图中所示 releasecheck.h 文件进行改写,以下是其实现部分:
#ifndef RELEASECHECK_H
#define RELEASECHECK_H

#include 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值