qt dragEnterEvent dragLeaveEvent dragMoveEvent dropEvent都不响应的问题解决方案。
环境:vs2019+qt5.14.2
坑哦。让我搞了好久。各种不执行,最后发现,不用vs调制,直接运行exe就能接收拖拽了。
记录一下,感觉是qt的bug。上代码。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QTextEdit>class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget* parent = 0);~MainWindow();protected:void dragEnterEvent(QDragEnterEvent* e) override;void dragLeaveEvent(QDragLeaveEvent* e) override;void dragMoveEvent(QDragMoveEvent* event) override;void dropEvent(QDropEvent* e) override;private:bool readFile(const QString& fileName);QTextEdit* textEdit;
};#endif // MAINWINDOW_H
#include <QDragEnterEvent>
#include <QMimeData>
#include <QFile>
#include <QUrl>
#include <QDebug>
#include "QtWidgetsApplication5.h"MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
{//this->setMouseTracking(true); 不加也行textEdit = new QTextEdit;setCentralWidget(textEdit);textEdit->setAcceptDrops(false); setAcceptDrops(true);setWindowTitle(tr("Text Editor"));
}MainWindow::~MainWindow()
{}void MainWindow::dragEnterEvent(QDragEnterEvent* e)
{qDebug() << "dragEnterEvent" << e->mimeData();e->accept();if (e->mimeData()->hasFormat("text/uri-list"))e->acceptProposedAction();
}void MainWindow::dragLeaveEvent(QDragLeaveEvent* e)
{qDebug() << "dragLeaveEvent";//e->accept(); 不加也行
}void MainWindow::dragMoveEvent(QDragMoveEvent* event)
{event->setDropAction(Qt::MoveAction);//event->accept(); 不加也行
}void MainWindow::dropEvent(QDropEvent* e) //释放对方时,执行的操作
{//e->accept(); 不加也行QList<QUrl> urls = e->mimeData()->urls();if (urls.isEmpty())return;QString fileName = urls.first().toLocalFile();foreach(QUrl u, urls) {qDebug() << u.toString();}qDebug() << urls.size();if (fileName.isEmpty())return;if (readFile(fileName))setWindowTitle(tr("%1 - %2").arg(fileName).arg("Drag File"));
}bool MainWindow::readFile(const QString& fileName) //读文件
{QFile file(fileName);if (!file.open(QFile::ReadOnly | QFile::Text))return false;QByteArray data;data = file.readAll();textEdit->setText(QString::fromLocal8Bit(data));return true;
}
#include "QtWidgetsApplication5.h"
#include <QtWidgets/QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
运行结果:

相关文章:
qt dragEnterEvent dragLeaveEvent dragMoveEvent dropEvent都不响应的问题解决方案。
环境:vs2019qt5.14.2 坑哦。让我搞了好久。各种不执行,最后发现,不用vs调制,直接运行exe就能接收拖拽了。 记录一下,感觉是qt的bug。上代码。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QText…...
LVS精益价值管理系统 DownLoad.aspx 任意文件读取漏洞复现
0x01 产品简介 LVS精益价值管理系统是杭州吉拉科技有限公司研发的一款专注于企业精益化管理和价值流优化的解决方案。该系统通过集成先进的数据分析工具、可视化的价值流映射技术和灵活的流程改善机制,帮助企业实现高效、低耗、高质量的生产和服务。 0x02 漏洞概述…...
【GIC400】——中断使能
文章目录 中断使能全局中断使能RISC-VCortex-MCortex-A中断控制器使能PLICNVICGIC模块中断使能参考系列文章 【ARMv7-A】——异常与中断 【ARMv7-A】——异常中断处理概述 【ARMv7-A】——进入和退出异常中断的过程</...
容器项目之前后端分离
容器化部署ruoyi项目 #需要的镜像nginx、java、mysql、redis、 #导入maven镜像、Java镜像和node镜像 docker load -i java-8u111-jdk.tar docker load -i maven-3.8.8-sapmachine-11.tar docker load -i node-18.20.3-alpine3.20.tar #拉取MySQL和nginx镜像 docker pull mysql…...
游戏心理学Day04
第二章 心理学的生理基础 第三节 游戏中的感觉应用 认知地图 表象是在没有外在知觉信息来源的情况下,对类似知觉信息的加工。 表征是指信息或知识在心理活动中的表现和记载方式,表征是外部事物在心理活动中的内部再现。 我们对世界的表象,…...
文件上传漏洞之upload-labs
前提: 本文中的以xshell命名的均为以密码为admin的一句话木马,而shell命名的则是由冰蝎工具生成的木马。 pass-01:js前端验证 测试性的上传一个一句话木马,发现被拦截了,而且根据推测大概率是前端检测,于…...
解决使用gets(getchar)函数无法输入字符(字符串)和scanf_s函数显示缺少“scanf_s”整型参数的问题
一.函数介绍 gets函数: 该函数就是读取字符串,遇到空格不会停止,直到遇到换行字符,但是也会读取最后的换行字符(这也就是我在写代码的时候遇到的一个问题) getchar函数: 和gets函数类似&#x…...
Excel的VLOOKUP函数的用法
由于工作需要,最近用Excel的时候比较多,遇到一个需求,刚好需要用到VLOOKUP函数,结果由于对参数的理解不清晰,导致折腾了很久,都没达到想要的效果。所以,这里特此就遇到的坑做一个记录࿰…...
【Java面试】十三、ArrayList相关
ArrayList、LinkedList、HashMap等集合,从其前缀可知其对应的数据结构为数组、链表、哈希表。从数据结构,也可反推出集合的结构。 文章目录 1、算法复杂度分析1.1 时间复杂度1.2 常见复杂度1.3 空间复杂度 2、数组2.1 内存寻址2.2 查找元素的时间复杂度2…...
网络简史-基于图论的网络
先看一幅图: 如图,我们对类似 crossbar,banyan tree,b-tree,10-tree,256-tree,甚至 dcn fat-tree 等 “规则拓扑” 网络相当熟悉。规则拓扑网络中,地址信息被编码到拓扑本身&#…...
Git工作机制,暂存区,本地库,远程库管理,常用命令
文章目录 工作机制1. 本地库,暂存区管理2. 分支管理3. 远程库管理 工作机制 工作区(写代码) ----> 暂存区(临时存储) ----> 本地库(历史版本) ----> 远程库(GitLab、GitHub…...
找不到steam_api64.dll,无法继续执行的原因及解决方法
电脑已经成为我们生活中不可或缺的一部分。然而,在使用电脑的过程中,我们经常会遇到一些常见的问题,其中之一就是找不到某个特定的动态链接库文件,比如steamapi64.dll。这个问题可能会导致某些应用程序无法正常运行,给…...
鸿蒙开发接口定制管理:【@ohos.enterpriseDeviceManager (企业设备管理)】
企业设备管理 说明: 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import enterpriseDeviceManager from ohos.enterpriseDeviceManager;enterpriseDeviceManager.activateAdmin activate…...
Pytorch实用教程:多分类任务中使用的交叉熵损失函数nn.CrossEntropyLoss
nn.CrossEntropyLoss 在 PyTorch 中是处理多分类问题的常用损失函数,它是两个函数 nn.LogSoftmax 和 nn.NLLLoss(Negative Log Likelihood Loss)的组合。使用这个损失函数可以直接从模型得到原始的输出分数(logits),而不需要单独对输出进行 Softmax 处理。下面详细介绍这…...
智慧冶金:TSINGSEE青犀AI+视频技术助力打造高效、安全的生产环境
一、建设背景 冶金行业因其特殊的生产环境和工艺要求,对安全生产、环境保护以及质量监控等方面有着极高的要求。因此,将视频智能监控技术引入冶金行业,不仅有助于提升生产效率,更能有效保障生产安全,降低事故风险。 …...
【ARM+Codesys案例】基于全志T3+Codesys软PLC的3C点胶边缘控制解决方案:整合了运动控制、视觉、激光测高等技术
视觉精密点胶控制方案 针对直交型机构的平面点涂胶应用,基于CODESYS软件平台开发的一站式PC型控制器解决方案,包含运动控制器硬件和点胶应用软件。方案整合了运动控制、视觉、激光测高等技术,高效精密的控制胶水点涂于产品表面或内部&#x…...
描述JSP的内置对象
JSP(JavaServer Pages)内置对象(也称为隐式对象或预定义对象)是JSP容器为每个页面提供的Java对象,开发者可以直接在JSP页面中使用它们,而无需显式声明。这些内置对象提供了对JSP页面运行环境信息的快速访问…...
MongoDB CRUD操作:可重试写入
MongoDB CRUD操作:可重试写入 文章目录 MongoDB CRUD操作:可重试写入使用的先决条件部署的限制支持的存储引擎3.6 MongoDB 驱动程序MongoDB 版本写确认 可重试写入和多文档事务启用可重试写入MongoDB驱动mongosh 可重试的写操作行为持续的网络错误故障切…...
Microsoft Outlook Lite 引入短信功能
随着科技的不断进步,我们的沟通方式也在不断演变。微软最新推出的 Outlook Lite 应用,不仅为我们提供了一个轻量级的电子邮件管理工具,现在更是带来了一项令人兴奋的新功能——短信服务。 Outlook Lite:轻量级,功能全…...
Redis的数据结构以及对应的使用场景
Redis支持的数据结构包括字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)等。这些数据结构在应用开发中扮演着重要的角色,它们各自适用于不同的使用场景和需求。以下是对Redis各数据结构的详细分析及它们的使用场景: 字符串(S…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
