Qt 文件拖动和打开文件(新手练习程序)

这篇博客介绍了如何在Qt中实现文件拖放和打开功能,通过一个简单的示例程序,展示了如何利用resizeEvent和paintEvent事件,以及QMimeData处理拖放事件。内容包括文件选择、画布更新和拖放判断等关键代码解析。
摘要由CSDN通过智能技术生成

此代码来自某群,并不是自己写,供给各位学习参考。
废话不多说,直接先看效果图。有兴趣的小伙伴可以学习一下。
在这里插入图片描述
这个只是简单的 通过标签打开一个文件,然后可以拖拽一个文件进入框内,然后进行操作。
工程图这里各位可以看到实际上的内容并不是很多,实际里面代码量也不大,可以简单上手学习一下,这里先讲一下用了二个头文件。
在这个widget.ui界面设计里面有2个框在这里插入图片描述
大家可以看到界面里面有两个框,一个是建立QT的时候 生成的一个UI ,另外一个是提升的,当然这里假设各位已经会的, 如果不会可以私聊我,提升来源于头文件里面的在这里插入图片描述各位可以看到类名是一致的。
这样得话 就可以通过我们自己建立的UI 和新生成的类联系在了一起(刚开始自己看的时候不是特别理解,这里给各位讲一下,少走一点弯路)。好了,该上代码了,各位最关心的。

在这里插入图片描述

在这里插入图片描述
这个是我刚建立文件的时候 我没有改文件名 自己生成的带UI的文件,这里大家可以看到并没有代码在里面,而都在另外一个filedropcomponent里面,这就说明,在UI里面通过提升,就像实例化了一样 可以供我们使用里面的功能。

在这里插入图片描述
关键文件就是这个 ,重点会讲解方框里面的4个部分。

#include "filedropcomponent.h"
#include <QDebug>
#include <QDragEnterEvent>
#include <QFileInfo>
#include <QTextCodec>
#include <QMimeData>
#include <QStyleOption>
#include <QPainter>
#include <QFileDialog>


FileDropComponent::FileDropComponent(QWidget *parent) : QWidget(parent)
{
      
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));

    setAcceptDrops(true);
    m_filenameLabel = new QLabel(this);
    m_filenameLabel->setObjectName("filenameLabel
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值