《QDebug 2024年3月》

一、Qt Widgets 问题交流

1.

二、Qt Quick 问题交流

1.Qt5 ApplicationWindow 不能使用父组件 Window 的 transientParent 属性

ApplicationWindow 使用 transientParent 报错:

"ApplicationWindow.transientParent" is not available due to component versioning.

这个属性是 C++ 类 QWindow 定义的,而且比较特殊,用的 Q_PRIVATE_PROPERTY,版本也较高是 13

Q_PRIVATE_PROPERTY(QWindow::d_func(), QWindow* transientParent MEMBER transientParent WRITE setTransientParent NOTIFY transientParentChanged REVISION 13)

Qt Controls 引入的版本较低(尖括号里的版本号):

qmlRegisterRevision<QQuickWindow, 2>(uri, 2, 0);
qmlRegisterRevision<QWindow, 3>(uri, 2, 0);
qmlRegisterRevision<QQuickWindowQmlImpl, 3>(uri, 2, 2);

本来想在 main 函数重新注册成高版本,不过会报错,那还是改源码重新编译吧:

qmlRegisterRevision<QWindow, 15>("QtQuick.Controls", 2, 0);

plugin cannot be loaded for module "QtQuick.Controls": Namespace 'QtQuick.Controls' has already been used for type registration 

2.QML 中动态创建的对象没变量引用可能会被 gc 释放

比如 Qt.createComponent() +  createObject() 创建的对象;或者 C++ 创建但是 ObjectOwnership 是 JavaScriptOwnership 的对象,都需要注意。

3.ColorAnimation 不能调用 start 开始变色,RotationAnimation 却可以执行

ColorAnimation 的示例只有 ColorAnimation on color {} 和 Transition 两种,从组件名字上看 ColorAnimation 就是对 attach 的对象变色,其实只有 RotationAnimation 有默认属性,ColorAnimation 是没有的:

QQuickColorAnimation::QQuickColorAnimation(QObject *parent)
: QQuickPropertyAnimation(parent)
{
    Q_D(QQuickPropertyAnimation);
    d->interpolatorType = QMetaType::QColor;
    d->defaultToInterpolatorType = true;
    d->interpolator = QVariantAnimationPrivate::getInterpolator(d->interpolatorType);
}

QQuickRotationAnimation::QQuickRotationAnimation(QObject *parent)
: QQuickPropertyAnimation(*(new QQuickRotationAnimationPrivate), parent)
{
    Q_D(QQuickRotationAnimation);
    d->interpolatorType = QMetaType::QReal;
    d->interpolator = QVariantAnimationPrivate::getInterpolator(d->interpolatorType);
    d->defaultProperties = QLatin1String("rotation,angle");
}

所以你调用 start 他也不知道干啥,需要设置 property 为 color:

    Rectangle {
        id: rect
        width: 200
        height: 200
        color: "red"
        ColorAnimation {
            id: ani
            target: rect
            property: "color"
            from: "white"
            to: "black"
            duration: 200
        }
        MouseArea {
            anchors.fill: parent
            onClicked: ani.start()
        }
    }
4.图片缩放 

没找到合适的图来体现不同设置的区别,暂略

        // 默认缩放,有像素锯齿,相当于 QImage 的 FastTransformation
        Image {
            width: 400
            height: 250
            source: "qrc:/img.png"
            fillMode: Image.PreserveAspectFit
        }
        // smooth 和多重采样的效果差不多,比较模糊
        Image {
            width: 400
            height: 250
            source: "qrc:/img.png"
            smooth: true
            fillMode: Image.PreserveAspectFit
        }
        // 和 QImage 的 SmoothTransformation 差不多,略有不同
        Image {
            width: 400
            height: 250
            source: "qrc:/img.png"
            sourceSize: Qt.size(width, height)
            fillMode: Image.PreserveAspectFit
        }

三、其他

1.搜索代码中的中文字符串

程序做翻译的时候需要找出里面的中文字符进行处理,比如 Qt 框架加上 tr 等。

先百度中文的正则范围:[\u4e00-\u9fa5],再在两边加上双引号或者单引号组成最终的正则。

在 VSCode 中需要勾选正则表达式搜索:

".*[\u4e00-\u9fa5]+.*"

Qt Creator 也支持正则搜索:

但是会提示不支持 \U 等:

我们可以替换 Unicode 编码为对应的中文进行搜索:

".*[一-龥]+.*"

如果只搜索不带 tr 的字符串,就搜双引号前不是 r 字母的字符串:

[^r]\(".*[\u4e00-\u9fa5]+.*" 

注意 QML 可以单引号字符串,所以最好统一风格,搜索起来简单点。还有就是编码的时候规范一点,别到处写一堆空格,比如 tr(空格或者换行+"字符串内容"+空格或者换行) 。

2.QMake 中 $$ 拼接宏的时候,如果是没定义的,不会报错

如 pro 中这样写:

DESTDIR = $$PWD/bin/$$ABCD

其中 ABCD 未定义,但是不会报错,而是在 bin 目录下生成了 exe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507040.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android车载设备开发相关名词介绍

一、通讯相关 1、ECALL 如遭遇紧急情况&#xff0c;用户可按下该键以最高优先级接通呼叫中心&#xff0c;人工坐席将同时获取客户车辆的重要数据并协助驾驶员脱离危险。 实现原理 E-Call 的核心思想是利用车载卫星定位系统获取车辆的位置信息&#xff0c;在事故发生后&#x…

性能测试入门 —— 什么是性能测试PTS?

性能测试PTS&#xff08;Performance Testing Service&#xff09;是一款简单易用&#xff0c;具备强大的分布式压测能力的SaaS压测平台。 PTS可以模拟复杂的业务场景&#xff0c;并快速精准地调度不同规模的流量&#xff0c;同时提供压测过程中多维度的监控指标和日志记录。您…

输出100~200之间的素数(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//实现素数判断函数&#xff1b; int Prime(int number) {//初始化变量值&#xff1b;int divided 2;int JudgementCondition 0;//循环判断素数&#xff1b;wh…

Git的使用【入门级】--下载github项目

1.下载Git Git for Windows Windows版本进入如上网址下载&#xff1a; 点击Download即可&#xff0c;建议下载到内存多的盘&#xff0c;我是下载到移动固态优盘中&#xff0c;以免C盘太挤。 验证Git是否安装成功&#xff1a; 双击git-bash.exe&#xff0c;命令行输入git versi…

【Django开发】0到1美多商城项目md教程第4篇:图形验证码,1. 图形验证码接口设计【附代码文档】

美多商城完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;欢迎来到美多商城&#xff01;&#xff0c;项目准备。展示用户注册页面&#xff0c;创建用户模块子应用。用户注册业务实现&#xff0c;用户注册前端逻辑。图形验证码&#xff0c;图形验证码接口设…

SQL,group by分组后分别计算组内不同值的数量

SQL&#xff0c;group by分组后分别计算组内不同值的数量 如现有一张购物表shopping 先要求小明和小红分别买了多少笔和多少橡皮&#xff0c;形成以下格式 SELECT name,COUNT(*) FROM shopping GROUP BY name;SELECT name AS 姓名,SUM( CASE WHEN cargo 笔 THEN 1 ELSE 0 END)…

关于Oracle VM VirtualBox无法查询IP地址的原因

1.如下&#xff0c;输入ifconfig却没有显示我框住的显示IP。 2.原因有可能&#xff1a; &#xff08;1&#xff09;主机没连上网络。 &#xff08;2&#xff09;虚拟机网络设置不正确。

Python问题列表

文章目录 1、使用pip安装的模块都存放到哪里了&#xff1f;2、安装fitz包报错&#xff0c;如何解决&#xff1f;3、python代码运行时&#xff0c;控制台输出乱码如何解决。4、vscode中第三方库不自动补齐 1、使用pip安装的模块都存放到哪里了&#xff1f; 答&#xff1a; pip是…

GLTFExporter是一个用于将3D场景导出为glTF格式的JavaScript库。

demo案例 GLTFExporter是一个用于将3D场景导出为glTF格式的JavaScript库。下面我将逐个讲解其入参、出参、属性、方法以及API使用方式。 入参&#xff08;Input Parameters&#xff09;: GLTFExporter的主要入参是要导出的场景对象和一些导出选项。具体来说&#xff1a; s…

Linux 入门及其基本指令(一文即入门)

目录 0 .引言 1. XShell 远程登录 Linux 1.1 云服务器 1.2. XShell 远程登陆 Linux 2. 详解 Linux 基本指令 2.1 ls 指令 2.2 pwd 指令 2.3 cd 指令 2.4 touch 指令 2.5 mkdir指令 2.6 rmdir指令 && rm 指令 0 .引言 如今&#xff0c;Linux 在服务器…

【Qt】系统相关(事件)

目录 一、概念二、事件处理三、鼠标事件1.鼠标点击事件2.鼠标释放事件3.鼠标移动事件 四、按键事件 一、概念 事件是应用程序内部或者外部产生的事情或者动作的统称。在Qt中使用一个对象来表示一个事件。所有的Qt事件均继承于抽象类QEvent。事件是由系统或者Qt平台本身在不同的…

【数据结构】——树和二叉树相关概念(全网超级详解)

创作不易&#xff0c;家人们来一波三连吧&#xff1f;&#xff01; 前言 世界上最大的树--雪曼将军树&#xff0c;这棵参天大树不是最长也不是最宽&#xff0c;是不是很奇怪&#xff0c;大只是他的体积是最大的&#xff0c;看图片肯定是感触不深&#xff0c;大家可以自己去看…

电脑卡顿怎么办?教你三招,轻松解决卡顿问题!

在现代社会&#xff0c;电脑已成为我们日常生活和工作中不可或缺的工具。然而&#xff0c;随着使用时间的增长&#xff0c;不少用户可能会遇到电脑卡顿的问题。卡顿不仅影响工作效率&#xff0c;还可能造成数据丢失等严重后果。本文将为大家介绍三种解决电脑卡顿问题的方法&…

使用 CSS 创建响应式图像滑块

使用 CSS 创建响应式图像滑块 效果展示 PC 端效果 移动端 / iPad 效果 CSS 知识点 媒体查询知识点复习position: absolute 的使用复习:nth-child 的使用复习 页面需求及实现思路 需求 页面会根据设备大小形成不同的布局方式当前展示图片放大并且展示对应的标题和描述其他…

智能公交调度管理服务系统

一、 背景 从上世纪末开始&#xff0c;为了缓解经济发展带来的道路交通方面的压力&#xff0c;绝大多数国家的公共交通部门方面进行了大量的投入&#xff0c;都在研发各种先进的技术来改善交通状况&#xff0c;其中包括了对公交 车的定位、对车辆实施全方位的虽然有的监控、自…

Leo赠书活动-23期 【Python数据分析】文末送书

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠书活动专栏 ✨特色专栏&#xff1a;…

告别繁琐代码,只需简单拖拽,便可从0到1开发!

告别繁琐代码&#xff0c;拥抱科技未来&#xff01;只需简单拖拽&#xff0c;便可从0到1开发&#xff01;代码即刻生成&#xff0c;一键下载&#xff0c;轻松上手。我们的低代码平台&#xff0c;不仅高效便捷&#xff0c;更完全开源&#xff0c;让你自由探索编程的无限可能&…

Vue3性能优化之自定义指令实现图片懒加载

图片懒加载是一种常见性能优化的方式&#xff0c;进入网址时不全部加载图片 当用户进入图片可视区域时加载 不仅大大减少了服务器的压力 也可以时首屏时间变短 图片懒加载的实现原理&#xff1a;在图片没进入可视区域的时候&#xff0c;只需要让 img 标签的 src 属性指向一张…

发票是扫码验真好,还是OCR后进行验真好?

随着科技的进步&#xff0c;电子发票的普及使得发票的验真方式也在不断演进。目前&#xff0c;我们常见的发票验真方式主要有两种&#xff1a;一种是扫描发票上的二维码进行验真&#xff0c;另一种是通过OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别…

Python爬虫实战之爬取微博热搜

前言 在开始之前&#xff0c;我们需要了解一些基本的爬虫知识。Python爬虫是一种自动化获取网页内容的技术&#xff0c;可以模拟浏览器行为&#xff0c;获取网页源代码&#xff0c;并从中提取所需的信息。在爬取微博热搜榜单时&#xff0c;我们需要发送HTTP请求获取网页源代码…