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…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
OCR MLLM Evaluation
为什么需要评测体系?——背景与矛盾 能干的事: 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。干不了的事: 碰到复杂表格(合并单元…...
