[QT4]拖放文件

基于FFMPEG的B站视频转换器使用指南(Qt新版) 这是一个简单的Qt应用程序,Release版再加几个dll文件即可使用。纯绿色无污染。 如图所示,点击exe文件就进入界面: 使用时,只要把B站缓存的Video.m4s和Audio.m4s拖入相应的编辑框就可以了。 点击转换按钮,指定输出路径和文件名: 稍等片刻,就成功了。 以下是主要实现代码: void Widget::on_pushButton_clicked() { //打开文件 QString filedir = QCoreApplica... 阅读详情

转自:http://blog.youkuaiyun.com/weiren2006/article/details/6083272


1、首先是在头文件中添加2个拖拽事件

 

    void dragEnterEvent(QDragEnterEvent *event);
    void dropEvent(QDropEvent *event);
2、函数的的具体操作
2.1、当拖动等文件进入到MainWindow区域时,就会触发dragEnterEvent事件,可以在dragEnterEvent函数中添加判断拖动的东西是否文件,
如果是文件,则接受此事件:event->accept(); 否则忽视之event->ignore();即不响应后续操作。
2.2、当释放文件时,会调用dropEvent函数。
拖放文件的代码实现如下:

[cpp]  view plain copy
  1. //处理进入拖拽事件  
  2. void MainWindow::dragEnterEvent(QDragEnterEvent *event)  
  3. {  
  4.     if(event->mimeData()->hasUrls())  
  5.     {  
  6.         QString localFile;  
  7.         QRegExp rx("//.(bin)$",Qt::CaseInsensitive);  
  8.         if (event->mimeData()->urls().count()>1)  
  9.         {  
  10.             //QMessageBox::warning(this,tr("提示"),tr("选择文件太多"));  
  11.             event->ignore();  
  12.             return;  
  13.         }  
  14.         foreach(QUrl url, event->mimeData()->urls())  
  15.         {  
  16.             localFile = url.toLocalFile();  
  17.             if (rx.indexIn(localFile) >= 0)  
  18.             {  
  19.                 event->accept();  
  20.                 ui.lineEditFileName->setFocus();  
  21.                 return;  
  22.             }  
  23.             else  
  24.             {  
  25.                 event->ignore();  
  26.             }  
  27.         }  
  28.     }  
  29.     else  
  30.     {  
  31.         event->ignore();  
  32.     }  
  33. }  
  34.   
  35. //拖拽释放时的处理函数  
  36. void MainWindow::dropEvent(QDropEvent *event)  
  37. {  
  38.     QString localFile;  
  39.     QUrl url = event->mimeData()->urls().at(0);  
  40.     localFile = url.toLocalFile();  
  41.     ui.lineEditFileName->setText(localFile);  
  42.     ui.pushButtonStart->setFocus();  
  43. }  


Qt Designer 和 Python:更快地构建您的 GUI 应用程序 Designer旨在为创建 PyQt5 应用程序提供一个轻量级但功能强大的解决方案。它使得通过拖放创建GUI 应用程序成为可能。它基于使用 Qt Designer 的Qt 框架,Qt Designer 是一个可视化布局和表单编辑器。对于那些熟悉 Python GUI 编程的人来说,您可能已经使用过tkinter GUI 库。PyQt 应用程序可以用多种方式编写:纯 Python、QML(及其工具)或 Qt Designer 的形式。PyQt Designer 的一些好处:生成的代码完全是 阅读详情

相关推荐

利用QT工具一键合并B站M4S缓存为MP4格式

本文介绍如何利用QT工具一键合并B站M4S缓存文件为MP4格式,解决用户直接播放和分享缓存视频的难题。通过图形化界面简化FFMPEG的复杂操作,实现拖放点击即可完成转换,支持批量处理和自动命名,提升视频处理效率。

weixin_29313239的博客 142

Qt学习------简单的文件拖放操作

Qt中的拖放操作 拖放操作分为拖动(Drag)和放下两种操作,当数据被拖动时,会被存储为MIME类型。 Qt中使用QMimeData类来表示MIME类型的数据,并使用QDrag类来完成数据的转移,而整个拖放操作都是在几个鼠标事件和拖放事件中完成的。 示例——使用拖放打开文件下面来看一个很简单的例子,就是将桌面上的.txt文件拖入到 Text Edit中。新建 Qt Widgets应用,基类选择 QM

愿有人陪你颠沛流离! 875

Qt拖放 drag and drop

拖放提供一个应用程序之间传递信息的一种简单的可视化机制。拖放机制类似于剪切和粘贴机制。拖放操作同时被QT项目视图和图形视图框架支持。 QApplication提供了两个拖放相关的方法: 1. QApplication::startDragTime。它描述了用户按下鼠标多长时间开始拖放操作。 2. QApplication::startDragDistance。它描述了用户

—— 然 之 1万+

Qt--实现拖拽文件

实现文件拖拽到窗体主要是重写://文件拖拽到窗体内,触发//文件拖拽到窗体内,释放,触发。

hw5230的博客 1355

Qt实现在两个独立窗口之间拖放

1.拖放的启动和结束 1)、启动拖放:拖放通过调用QDrag::exec()函数而启动,这意味着在拖放操作结束之前,不会返回该函数,调用QDrag::exe()函数后,Qt拥有对拖动对象的所有权,并会在必要时将其删除 2)、结束拖放:当用户放下拖动或取消拖动操作时结束拖放。 3)、MIME类型使用QMimeData类来描述。MIME类型通常由剪贴板和拖放系统使用,以识别不同类型的数据 2....

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 3543

android10 部分机型(华为)无法正常更新安装app

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file://storage/emulated/0/文件夹名/***.apk typ=application/vnd.android.package-archive }

森森先生的博客 3927

Qt--拖放操作

5.3拖放操作. 5.3.1使用拖放打开文件 5.3.2自定义拖放操作.

Half-up的博客 3496

Win11家庭版如何让Win+R运行CMD默认管理员权限?3种方法实测有效

本文针对Win11家庭版用户,实测了三种让Win+R运行CMD默认获取管理员权限的有效方法。通过分析UAC机制与家庭版功能限制,详细介绍了注册表编辑、快捷方式创建与任务计划程序三种方案的原理、步骤与风险对比,帮助用户根据安全与效率需求选择最佳方案,实现一键高效管理。

sat99的博客 1266

Python urllib local file 打开局部文件 有效URL windows10

做一个django后端 + 微信小程序前端的项目, 服务器配置在了自己的电脑上, 系统 windows10, 发现做URL了的时候,老是无效, 最后贴上有效的URL 格式。 经验教训, 百度不到东西的。。谷歌靠谱点。 url = "file:/D:/weixin/Mini-Program_Online-tutoring/wxedu"+str(data['headImg'].encode('u...

summerdream_的博客 979

【实战指南】基于YOLOv11的肺结节检测系统开发与优化(LUNA2016数据集)

本文提供了基于YOLOv11模型和LUNA2016数据集开发肺结节检测系统的完整实战指南。详细介绍了从环境搭建、数据预处理、模型训练与优化,到构建Web应用系统的全流程,旨在帮助开发者快速掌握医疗影像AI项目的核心开发技能。

weixin_29031057的博客 140

PyTorch ModelNet点云数据集加载实战:从下载到Dataset类完整实现

在三维视觉与点云处理领域,数据集是算法研发的基石。ModelNet作为三维物体分类的基准数据集,其地位类似于图像领域的MNIST,是入门和评估模型性能的通用标准。理解其数据格式与加载原理,是进行点云分类、分割等任务的关键前置步骤。通过PyTorch的Dataset类,开发者可以构建高效的数据管道,将原始点云文件转换为神经网络可直接处理的张量格式,这一过程涉及数据采样、归一化、特征组装等核心操作,直接影响模型的训练效率和最终性能。本文聚焦于ModelNet10/40数据集,详细解析其目录结构,并提供一套稳健的

weixin_29032337的博客 280

pyqt5拖入文件 拖拽文件

pyqt5拖入文件demo

jacke121的专栏 940

树莓派上基于ONNXRuntime与Qt的C++模型部署实战指南

本文详细介绍了在树莓派上使用ONNXRuntime与Qt进行C++模型部署的完整流程。从环境配置、依赖安装到交叉编译优化,再到Qt界面集成与ARM架构性能调优,提供了实战指南和常见问题解决方案,帮助开发者高效完成边缘设备上的AI应用部署。

ik6789012的博客 337

Qt学习之路(52): 拖放技术之一

拖放 Drag and Drop,有时又被称为 DnD,是现代软件开发中必不可少的一项技术。它提供了一种能够在应用程序内部甚至是应用程序之间进行信息交换的机制,并且,操作系统与应用程序之间进行剪贴板的内容交换,也可以被认为是 DnD 的一部分。 DnD 其实是由两部分组成的:Drag 和 Drop。Drag 是将被拖放对象“拖动”,Drop 是将被拖放对象“放下”,前者一般是一个按下鼠标的过程,

flowingFire2012的专栏 1165

计算机组成原理实验二 运算器组成实验

事实上,ALU的设计是在全加器的基础上,对全加器功能的扩展来实现符合要求的多种算术/逻辑运算的功能。为了实现多种功能的运算,An、Bn数据是不能直接与全加器相连接的,它们受到功能变量F3—F1的制约,因此,可由An、Bn数据和功能变量F3-F1组合成新的函数Xn 、Yn,然后,再将Xn 、Yn和下一位进位Cn-1通过全加器进行全加运算以实现所需的运算功能。AC寄存器可用来存储ALU的输入以实现两个操作数的运算操作,也可以用来存储来自ALU的结果,以将这些结果反馈给ALU以进行更多的处理。

qq_63574533的博客 1447

【AirPlay】苹果认证MFI学习

配件认证是一个过程,通过这个过程,可验证其配件符合MFi技术规范,并通过苹果指定的任何认证测试。MFi门户中的产品计划 "认证 "页面将指导你完成特定配件所需的认证步骤,并指出何时完成所有要求。在完成所有MFi认证要求之前,你不得制造、分发或销售任何配件。在开始MFi认证过程之前,你必须测试你的配件,以确保它符合最新的MFi技术规范,通过产品计划 "测试计划 "上的所有适用测试,并与它将声称具有兼容性的每个苹果设备兼容。

天天的博客 2275

Qt之Drop 实现拖放文件

首先这个Widget要设置 setAcceptDrops(true);//启用放下操作 然后要重写drop的4大操作, 即enter leave move drop。 //当用户拖动文件到窗口部件上时候,就会触发dragEnterEvent事件 void MainWindow::dragEnterEvent(QDragEnterEvent *e) { if(e->mimeD...

朗朗上口就行啦的博客 4575

无迹卡尔曼滤波 (UKF, Unscented Kalman Filter) 算法详解及案例分析

无迹卡尔曼滤波是一种用于估计非线性系统状态的递归算法。其目标是通过结合系统模型和观测数据,估计系统的最优状态。

闲人编程的博客 2624

Qt学习之路系列教程目录

导语 《Qt 学习之路》是在网络上受到一定欢迎的 Qt 入门教程。只是这个系列便携与 2009 年,至今已经有三年多的时间。今天的 Qt 有了很大的变化,包括 Qt Quick 的加入、Qt 底层架构的改变,更重要的是 Qt 5 的发布。本系列文章将会是《Qt 学习之路》的一次升级和修订,着重关注于 Qt 5,同时会结合 Qt 4 进行讲解。希望这个系列也能够像前面一个版本那样,能够

MachineLP的专栏 3万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【QT】QT实现拖放文件并复制文件功能

QT实现拖放文件并复制文件功能 目录 1.添加头文件 2.添加.h文件代码 3.添加.cpp文件代码 复制文件和文件夹 设置鼠标悬浮样式 4.效果 1.添加头文件 #include <QDragEnterEvent> #include <QUrl> #include <QMimeData> #include <QDropEvent&gt...

rong11417的博客 2022

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Qt拖放文件实现(Drag,Drop, MimeData )

本文讲述了基于Qt实现文件拖放操作。拖放操作至少需要两个窗口,一个作为拖放源窗口,另一个作为拖放目标窗口。

flysnow010的博客 2266

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Qt4_拖放

拖放 拖放是在一个应用程序内或者多个应用程序之间传递信息的一种直观的现代操作方式。除了为剪贴板提供支持外,通常它还提供数据移动和复制的功能。 使拖放生效 拖放操作包括两个截然不同的动作:拖动和放下。Qt窗口部件可以作为拖动点(darg site) 、放下点(drop site) 或者同时作为拖动点和放下点。 Text Editor Text Editor 介绍了如何让一个Qt应用程序接受由另一个应用程序执行的一个拖动操作。该Qt应用程序是一个以 QTextEdit 作为中央窗口部件的主窗口程序。当用户从桌面

qq_36314864的博客 313

C++ GUI Qt4编程--阅读笔记(原创)

C++ GUI Qt4编程--阅读笔记(原创)   由  王宇 原创并发布 : 第一章Qt入门     1.1HellowQt         qmake-project         qmakehello.pro         make    1.2建立连接         QObject::connect(button,SIGN...

MrWangyu的专栏 616

Qt拖放(1):拖放基本原理(QDrag类)

Qt拖放(1):拖放基本原理(QDrag类) 若对C++语法不熟悉,建议参阅《C++语法详解》一书,电子工业出版社出版,该书语法示例短小精悍,对查阅C++知识点相当方便,并对语法原理进行了透彻、深入详细的讲解,可确保读者彻底弄懂C++的原理,彻底解惑C++,使其知其然更知其所以然。此书是一本全面了解C++不可多得的案头必备图书。 本章讲解的类及继承关系如图9-1所示 9.1 拖放原理 9.1.1...

黄邦勇帅的博客 2万+

Qt使用拖放

Qt使用拖放

m0_60259116的博客 722
上一篇: QT编写拨号 WINDOS利用宽带拨号Rasdial命令
下一篇: Qt4.8.2 拖放技术
「已注销」
博客等级 码龄14年 116粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值