QT和有道词典有冲突,导致内存溢出,闪退。

ops/2025/2/27 13:23:27/

提示:本文为学习记录,若有疑问,请联系作者。


前言

具体详细查看此博主:原文链接

在使用Qt Designer时,如果开启了有道词典,会导致Qt Designer崩溃。估计应该是把有道词典屏幕取词功能打开后,有道词典屏幕取词事件和QtCreator内部事件冲突

写的qt应用程序如果包含QTreeview或者QTreeWidget等跟树相关的组建时,如果开启了有道词典,鼠标移到树的item上

会导致qt应用程序崩溃。具体原因未知,但已经有人跟QT官方提过该问题(https://bugreports.qt.io/browse/QTBUG-77974),不知后续版本是否解决。

具体原因可能是因为有道词典在进行取词翻译时,调用了windows中的事件 WM_GETOBJECT。而QT处理该事件是会导致内存泄漏所以崩溃。


一、相关代码

//QTBUG-77974
class MyFilter : public QAbstractNativeEventFilter
{
public:bool nativeEventFilter(const QByteArray& eventType, void* message, long* result) override{MSG* msg = (MSG*)message;if (msg->message == WM_GETOBJECT)return true;return false;}
};int main(int argc, char *argv[])
{QApplication a(argc, argv);a.installNativeEventFilter(new MyFilter);QTreeWidget w;w.exec();return a.exe();
}

总结

善于总结,多进一步。


http://www.ppmy.cn/ops/161683.html

相关文章

【星云 Orbit-F4 开发板】03g. 按键玩法七:矩阵键盘单个触发

【星云 Orbit-F4 开发板】03g. 按键玩法七:矩阵键盘单个触发 引言 矩阵键盘是一种常见的输入设备,广泛应用于各种嵌入式系统中。通过矩阵键盘,用户可以通过按键输入字符或控制信号。本文将详细介绍如何使用STM32F407的GPIO引脚实现矩阵键盘的…

【Triton 教程】triton.heuristics

Triton 是一种用于并行编程的语言和编译器。它旨在提供一个基于 Python 的编程环境,以高效编写自定义 DNN 计算内核,并能够在现代 GPU 硬件上以最大吞吐量运行。 更多 Triton 中文文档可访问 →https://triton.hyper.ai/ triton.heuristics(values)用于…

青少年编程与数学 02-010 C++程序设计基础 12课题、输入输出

青少年编程与数学 02-010 C程序设计基础 12课题、输入输出 一、输入输出1. 控制台输入输出1.1 标准输入(std::cin)读取单个字符读取字符串读取数值读取多行字符串 1.2 标准输出(std::cout)输出单个字符输出字符串输出数值格式化输…

http 协议和 https 协议的区别在哪里?【详情解答】

HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)都是用于在网络上传输数据的协议,二者存在多方面的区别,具体如下: 安全性:这是HTTP和HTTPS最主要的区别。HTTP协议是明文传输数据…

从头再来!社招找工作——算法题复习十:双指针/前缀和/滑动窗口

从头再来!社招找工作——算法题复习十:双指针/前缀和/滑动窗口 双指针/前缀和/滑动窗口双指针判断是否为回文字符串(Easy)盛水最多的容器(Middle) 前缀和数组的平均数值(Easy)除自身…

Origin 2024绘图与数据分析下载|附安装包+学习教程

如大家所了解的,Origin是一款图形可视化和数据分析软件,它是为初学者提供了使用的界面,并且随着用户对应用程序的日益熟还可以执行高等自定义。软件具有大量2D和3D绘图模板。 Origin主要应用: 绘图 凭借100多种内置和扩展的图表…

[AI概念域] AI 大模型是如何被训练出来的?(通俗解读)

说明:这里使用 学生成长五部曲 比喻带你理解大模型如何从零开始学会思考。 AI大模型的训练过程可分为四个核心阶段: 首先进行海量数据收集与清洗,如同为“学生”准备涵盖各领域知识的教材库;接着通过预训练让模型完成“填空题”…

DeepSeek教unity------UI框架

/****************************************************文件:BasePanel.cs作者:Edision日期:#CreateTime#功能:面板基类 *****************************************************/using UnityEngine;public class BasePanel : Mo…