当前位置: 首页 > news >正文

《QDebug 2024年12月》

一、Qt Widgets 问题交流

1.

二、Qt Quick 问题交流

1.QQuickPaintedItem 或者 QQuickItem 绘制的图片 dpi 缩放后模糊

启用 Qt 自带的缩放后,界面会跟随系统设置的 dpi 进行放大缩小:

#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endifQGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);

放大之后,我们在 C++  QQuickPaintedItem 或者 QQuickItem 绘制的图片可能会模糊,如图分别是缩放前和缩放后效果:

在 QQuickPaintedItem 或者 QQuickItem 中获取组件尺寸是放大前的,但是渲染的时候用的尺寸是乘上 dpi 之后的,所以我们绘制时的图像尺寸也要乘上 dpi 值:

QRect rect = boundingRect().toRect();
QImage img(":/flower.jpg");
img = img.scaled(rect.size() * window()->devicePixelRatio(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
2.Popup 或 Dialog 点击弹框外部阴影区域 

点击 Popup 或 Dialog 区域外阴影区域时,如果是模态框(modal: true),事件不会穿透下去,需要非模态才可以。通过将模态 modal 属性设置为 false,阴影 dim 属性设置为 true,然后背景放一个 MouseArea 拦截点击事件,就能实现阴影区域可以点击的对话框。

    Popup {id: overlay_popanchors.centerIn: parentwidth: 300height: 300modal: falsedim: truepadding: 0closePolicy: Popup.CloseOnEscapeRectangle {anchors.fill: parentcolor: "#555555"}// Overlay.modal: Rectangle {}Overlay.modeless: Rectangle {color: "#55550000"MouseArea {anchors.fill: parentonClicked: {console.log("clicked")}}}}

点击事件的过滤是在组件内部进行的,似乎没别的设置来跳过:

bool QQuickPopupPrivate::blockInput(QQuickItem *item, const QPointF &point) const
{// don't block presses and releases// a) outside a non-modal popup,// b) to popup children/content, or// b) outside a modal popups's background dimmingreturn modal && !popupItem->isAncestorOf(item) && (!dimmer || dimmer->contains(dimmer->mapFromScene(point)));
}bool QQuickPopupPrivate::handlePress(QQuickItem *item, const QPointF &point, ulong timestamp)
{Q_UNUSED(timestamp);pressPoint = point;tryClose(point, QQuickPopup::CloseOnPressOutside | QQuickPopup::CloseOnPressOutsideParent);return blockInput(item, point);
}bool QQuickPopupPrivate::handleRelease(QQuickItem *item, const QPointF &point, ulong timestamp)
{Q_UNUSED(timestamp);if (item != popupItem && !contains(pressPoint))tryClose(point, QQuickPopup::CloseOnReleaseOutside | QQuickPopup::CloseOnReleaseOutsideParent);pressPoint = QPointF();touchId = -1;return blockInput(item, point);
}

三、其他

1.英特尔上编译的QtCipherSqlitePlugin在M系列芯片上崩溃

QtCipherSqlitePlugin是一个用于支持SQLite数据库加密的插件,目前最新版本是v1.3,已经很久没更新了:https://github.com/devbean/QtCipherSqlitePlugin

英特尔上编译出来在M芯片上兼容运行会报错:

工程的sqlitecipher.pro文件中有一行设置:

QMAKE_CFLAGS += -march=native

去掉之后编译会报aes相关接口错误,我们直接改成aes:

QMAKE_CFLAGS += -maes

编译之后放到M芯片上就能正常运行了 

2.安卓版本升级后授权相关的问题

Qt5安卓项目如果在Activity的onCreate请求权限,在之前的安卓版本权限操作结束之前,会阻塞在QApplication对象构造,但最近手机升级到澎湃OS2(安卓15)后,发现阻塞在engine.load去了。之前代码中一些需要权限才能进行的操作就需要后移,目前是放到初始化页面加载后QQmlApplicationEngine::objectCreated信号槽中。当然,最好在每次读写文件等需要权限的操作前都再次判断并请求一下相关权限。

int main(int argc, char *argv[])
{// 安卓老版本阻塞在这里QApplication app(argc, argv);QQmlApplicationEngine engine;const QUrl url(QStringLiteral("qrc:/main.qml"));QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,&app, [url](QObject *obj, const QUrl &objUrl) {if (!obj && url == objUrl)QCoreApplication::exit(-1);}, Qt::QueuedConnection);// 澎湃OS2(安卓15阻塞在这里)engine.load(url);return app.exec();
}

相关文章:

《QDebug 2024年12月》

一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.QQuickPaintedItem 或者 QQuickItem 绘制的图片 dpi 缩放后模糊 启用 Qt 自带的缩放后&#xff0c;界面会跟随系统设置的 dpi 进行放大缩小&#xff1a; #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)QCoreApplicat…...

3---杭州工作三年半

2021-07-06来杭——2025-01-01元旦 1滨江2021-07-06——2022-11-25&#xff08;一年零四个月&#xff09; 2下沙2023-01-01——2023-04-27&#xff08;五个月&#xff09; 3苏州2023-06-07——2023-06-27&#xff08;一个月&#xff09;厦门2023-06-29——2023-07-06&#xff…...

从2024看2025前端发展趋势

前言 又至年关&#xff0c;回顾整个2024年&#xff0c;前端行业仍旧百废待兴&#xff0c;IT业界同样也未见有所起色&#xff0c;AI风潮也从狂热兴奋逐步走向了冷静稳定阶段&#xff0c;造成此形势感观并非单一行业或者某一企业之特例&#xff0c;实为政经等综合影响之结果。因…...

网络渗透测试实验三:SQL注入

1.实验目的和要求 实验目的:了解SQL注入的基本原理;掌握PHP脚本访问MySQL数据库的基本方法;掌握程序设计中避免出现SQL注入漏洞的基本方法;掌握网站配置。 系统环境:Kali Linux 2、Windows Server 网络环境:交换网络结构 实验工具: SqlMAP;DVWA 2.实验步骤 实验目…...

ElasticSearch7.8快速入门

文章目录 1.基本概念1.数据格式2.倒排索引 2.HTTP使用1.创建索引&#xff08;相当于创建数据库&#xff09;2.索引-查询 & 删除1.查询索引2.查询所有索引3.删除索引 3.创建文档1.创建文档&#xff08;不指定id&#xff09;2.创建文档&#xff08;指定id&#xff09; 4.文档…...

【YashanDB知识库】hive初始化崖山报错YAS-04209

本文内容来自YashanDB官网&#xff0c;原文内容请见 https://www.yashandb.com/newsinfo/7849008.html?templateId1718516 【问题分类】功能使用 【关键字】hadoop&#xff0c;hive&#xff0c;YAS-02058 【问题描述】hive初始化崖山报错&#xff1a; 0: jdbc:yasdb://192…...

2024年度总结:保持正念 延迟满足

总结&#xff1a; 时光荏苒&#xff0c;很快就到了年底&#xff0c;2024年也就悄悄的过去了&#xff0c;回顾这一年&#xff0c;有很多的感触&#xff0c;在此做一个总结&#xff0c;留下自己的脚印 CTF&#xff1a; 要总结的第一件事那当然是CTF&#xff0c;回顾这一年&#…...

VScode SSH 错误:Got bad result from install script 解決

之前vscode好好的&#xff0c;某天突然连接报错如下 尝试1. 服务器没有断开,ssh可以正常连接 2. 用管理员权限运行vscode&#xff0c;无效 3. 删除服务器上的~/.vscode-server 文件夹&#xff0c;无效 试过很多后&#xff0c;原来很可能是前一天anaconda卸载导致注册表项 步…...

Logo设计免费生成器工具:轻松创建独特标志

在当今的商业世界中&#xff0c;一个独特且引人注目的Logo是任何企业或品牌的身份象征。它不仅代表了公司的形象&#xff0c;还传达了公司的价值观和使命。然而&#xff0c;对于许多初创企业或小型企业来说&#xff0c;聘请专业设计师来设计一个Logo可能是一笔不小的开销。这时…...

[算法] [leetcode-349] 两个数组的交集

349 两个数组的交集 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2] 示例 2&#xff1a; …...

Type c系列接口驱动电路·内置供电驱动电路使用USB2.0驱动电路!!!

目录 前言 Type c常见封装类型 Type c引脚功能详解 Type c常见驱动电路详解 Type c数据手册 ​​​​​​​ ​​​​​​​ 编写不易&#xff0c;仅供学习&#xff0c;请勿搬运&#xff0c;感谢理解 常见元器件驱动电路文章专栏连接 LM7805系列降压芯片驱动电路…...

第7章 程序流程控制 - 条件分支

汇编语言是一种低级编程语言&#xff0c;它与特定计算机架构的机器码有着直接对应关系。条件分支是程序流程控制的一部分&#xff0c;允许根据某些条件来决定执行哪一段代码。在汇编中&#xff0c;这通常通过比较指令和跳转指令来实现。 以下是一些经典的汇编语言源代码示例&a…...

Edge如何获得纯净的启动界面

启动Edge会出现快速链接&#xff0c;推广链接&#xff0c;网站导航&#xff0c;显示小组件&#xff0c;显示信息提要&#xff0c;背景 ●复杂页面 ●精简页面 点击页面设置按钮 关闭快速链接 关闭网站导航 关闭小组件 关闭信息提要 关闭背景 关闭天气提示 精简页面看起来十分舒…...

gitlab的搭建及使用

1、环境准备 服务器准备 CentOS Linux release 7.9.2009 (Core)&#xff0c;内存至少4G。 修改主机名和配置ip地址 hostnamectl set-hostname <hostname> 关闭主机的防火墙 # 关闭防火墙 systemctl stop firewalld #临时关闭防火墙 systemctl disable firewalld …...

如何逐步操作vCenter修改DNS服务器?

在vSphere 7中有一个新功能&#xff0c;它允许管理员更改vCenter Server Appliance的FQDN和IP。因此本文将介绍如何轻松让vCenter修改DNS服务器。 vCenter修改DNS以及修改vCenter IP地址 与在部署 vCenter Server Appliance 后&#xff0c;您可以根据需要修改其 DNS 设置和 IP…...

XIAO ESP32 S3网络摄像头——2视频获取

本文主要是使用XIAO Esp32 S3制作网络摄像头的第2步,获取摄像头图像。 1、效果如下: 2、所需硬件 3、代码实现 3.1硬件代码: #include "WiFi.h" #include "WiFiClient.h" #include "esp_camera.h" #include "camera_pins.h"// 设…...

使用JMeter对Linux生产服务器进行压力测试

安装 JMeter wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.4.1.tgz tar -xzf apache-jmeter-5.4.1.tgz cd apache-jmeter-5.4.1创建 JMeter 脚本 设置中文 选择Options—>Choose Language—>选择其他语言&#xff08;例如&#xff1a;Chinese&am…...

spring boot 异步线程池的使用

创建Spring Boot项目 首先&#xff0c;你需要创建一个Spring Boot项目。你可以使用Spring Initializr&#xff08;https://start.spring.io/&#xff09;来快速生成项目结构。 添加异步支持依赖 在你的pom.xml文件中&#xff0c;确保你已经添加了Spring Boot的starter依赖&…...

风力涡轮机缺陷检测数据集,86.6%准确识别率,11921张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注

风力涡轮机缺陷检测数据集&#xff0c;86.6&#xff05;准确识别率&#xff0c;11921张图片&#xff0c;支持yolo&#xff0c;PASICAL VOC XML&#xff0c;COCO JSON格式的标注 数据集下载 yolov11&#xff1a; https://download.csdn.net/download/pbymw8iwm/90206849 yolov…...

深入浅出梯度下降与反向传播

文章目录 1. 前言2. 基本概念2.1 一元函数的导数2.2 偏导数2.3 方向导数2.4 梯度2.5 均方误差 3. 梯度下降3.1 梯度下降的公式3.2 梯度下降的类型&#xff08;优化器&#xff09; 4. 反向传播4.1 反向传播的基本步骤4.2 反向传播的数学推导 5. 实战5.1 手动求导5.2 自动求导5.3…...

如何用Xournal++高效管理数字笔记:5个实用场景完全指南

如何用Xournal高效管理数字笔记&#xff1a;5个实用场景完全指南 【免费下载链接】xournalpp Xournal is a handwriting notetaking software with PDF annotation support. Written in C with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 1…...

零基础入门:Qwen3-ASR-1.7B语音识别Docker部署全流程

零基础入门&#xff1a;Qwen3-ASR-1.7B语音识别Docker部署全流程 1. 为什么选择Docker部署语音识别服务 想象一下&#xff0c;你刚学会使用Qwen3-ASR-1.7B这个强大的语音识别模型&#xff0c;在本地电脑上测试效果非常棒。但当你想把它部署到服务器上时&#xff0c;突然发现各…...

学术公式迁移困境:从3小时到45秒的转换革命——LaTeX2Word-Equation技术解析

学术公式迁移困境&#xff1a;从3小时到45秒的转换革命——LaTeX2Word-Equation技术解析 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 问题溯源…...

Pixel Script Temple多场景落地:政务宣传短视频、乡村振兴纪录片脚本生成

Pixel Script Temple多场景落地&#xff1a;政务宣传短视频、乡村振兴纪录片脚本生成 1. 专业剧本创作工具介绍 Pixel Script Temple&#xff08;像素剧本圣殿&#xff09;是一款基于Qwen2.5-14B-Instruct大模型深度优化的专业剧本创作工具。它将先进的AI推理能力与独特的8-B…...

FLUX.2-klein-base-9b-nvfp4快速入门:小白也能玩转AI图片编辑

FLUX.2-klein-base-9b-nvfp4快速入门&#xff1a;小白也能玩转AI图片编辑 1. 为什么选择这个AI图片编辑工具 你是否遇到过这些情况&#xff1a; 看到网上的漂亮衣服&#xff0c;想知道穿在自己身上是什么效果想给照片中的衣服换个颜色或添加文字&#xff0c;但不会用专业修图…...

TensorRT加速HY-Motion:NVIDIA推理性能提升方案

TensorRT加速HY-Motion&#xff1a;NVIDIA推理性能提升方案 1. 项目背景与价值 HY-Motion 1.0作为业界领先的文生3D动作生成模型&#xff0c;凭借其十亿级参数的Diffusion Transformer架构&#xff0c;在动作生成质量和指令遵循能力方面达到了新的高度。然而&#xff0c;如此…...

PyTorch 2.8镜像部署教程:RTX 4090D上量化Llama-3-8B至INT4推理实操

PyTorch 2.8镜像部署教程&#xff1a;RTX 4090D上量化Llama-3-8B至INT4推理实操 1. 环境准备与快速验证 在开始Llama-3-8B模型的量化部署前&#xff0c;我们需要先确认基础环境是否正常工作。这个PyTorch 2.8镜像已经为RTX 4090D显卡进行了深度优化&#xff0c;开箱即用。 1…...

万象熔炉 | Anything XL多风格尝试:动漫/写实/赛博朋克提示词模板库

万象熔炉 | Anything XL多风格尝试&#xff1a;动漫/写实/赛博朋克提示词模板库 1. 工具简介 万象熔炉 | Anything XL 是一款基于 Stable Diffusion XL 框架开发的本地图像生成工具。它最大的特点是支持直接加载 safetensors 单文件权重&#xff0c;无需复杂的配置和权重拆分…...

从经典控制器到前沿控制的发展

目录 前言 一、PID控制 1.数字PID 2.PID参数的优化 1.微分项的问题 2.积分项的问题 3.PID参数整定法 3.PID参数对系统性能指标的影响 二、模糊控制 1.模糊控制的五大核心步骤 1.模糊化 2.建立模糊规控制规则 3.模糊推理与解模糊 2.模糊PID 1.直接型模糊PID 2.增…...

零基础入门:5分钟用Xinference部署gte-base-zh,开启文本向量化之旅

零基础入门&#xff1a;5分钟用Xinference部署gte-base-zh&#xff0c;开启文本向量化之旅 1. 准备工作&#xff1a;认识gte-base-zh 1.1 什么是文本向量化 想象一下&#xff0c;当你看到"苹果"这个词时&#xff0c;脑海中会浮现什么&#xff1f;可能是水果&#…...