《QDebug 2023年12月》

一、Qt Widgets 问题交流
1.
二、Qt Quick 问题交流
1.Q_REVISION 标记的信号槽或者 REVISION 标记的属性,在子类中访问

Q_REVISION 是 Qt 用来做版本控制的一个宏。以 QQuickWindow 为例,继承后去访问 REVISION 标记的 opacity 属性或者 Q_REVISION 标记的 closing 信号,会报错提示 is not available:

#include <QQuickWindow>

class MyWindow : public QQuickWindow
{
public:
    using QQuickWindow::QQuickWindow;
};
qmlRegisterType<MyWindow>("Test", 1, 0, "MyWindow");
import QtQuick 2.15
import Test 1.0

MyWindow {
    width: 640
    height: 480
    visible: true
    title: qsTr("Test")

    opacity: 0.5
    onClosing: console.log("close")
}

 只需要用 qmlRegisterRevision 把基类也注册下,并指定一个更大的 VERSION 号就行了。

qmlRegisterType<MyWindow>("Test", 1, 0, "MyWindow");
qmlRegisterRevision<QQuickWindow, 15>("Test", 1, 0);
qmlRegisterRevision<QWindow, 15>("Test", 1, 0);

注意,如果基类有多层,把带 VERSION 属性的都注册下才行,比如 QWindow 是 QQuickWindow 父类也要注册下。

2.Qt5 点击按钮关闭子窗口时,按钮的 hovered 没有重置

给按钮加一个 ToolTip 关联 hovered 显示,子窗口 close 再 show,原来的 ToolTip 没有消失,鼠标晃一下才会消失,因为此时按钮的 hovered 没重置。

Qt5.15.2 测试 close 后再 show ToolTip 还在,hovered 未重置,但 hide 没问题;

Qt6.6.1 测试 close 没问题 hovered 已重置,但 hide 后再 show ToolTip 会闪一下。

测试代码:

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15

Window {
    id: root
    width: 640
    height: 480
    visible: true
    title: qsTr("Main Window")

    Window {
        id: window
        width: 400
        height: 300
        visible: false
        title: qsTr("Sub Window")
        Button {
            text: hovered ? "hovered" : "close"
            ToolTip.visible: hovered
            ToolTip.text: text
            onHoveredChanged: console.log("hoverd", hovered)
            onClicked: {
                console.log("clicked")
                window.close()
            }
        }
        onClosing: console.log("on closing")
    }

    Row {
        anchors.centerIn: parent
        Button {
            text: "show"
            onClicked: window.show()
        }
    }
}
三、其他
1.Windows 平台设置 Qt::FramelessWindowHint 无边框后,在副屏幕最大化时,自动切换为全屏把任务栏挡住了

Qt Bug Tracker:https://bugreports.qt.io/browse/QTBUG-51327

一般最大化时 Visibility 是 Maximized,但是无边框状态下自动切换为 FullScreen,会把任务栏挡住。根据 Qt Bug Tracker 上的记录来看,在  5.15.9, 6.3.0 Beta2, 6.4.0 Beta1 进行了修复。如果使用的是 Qt5.15 的低版本,可以编译高版本的 qwindows 插件替换下。

文件路径如:5.15.2\msvc2019\plugins\platforms\qwindows.dll 

2.Windows 平台设置 Qt::CustomizeWindowHint 自定义标题栏后,标题栏的位置会保留一个白条

FramelessWindowHint 去掉了标题栏和边框,CustomizeWindowHint 只去掉了标题栏,但是边框还在,如果能直接修改去掉标题栏残留的白条那比用 FramelessWindowHint 再做阴影方便点。

这个叫赵宇航的老哥提交了一个修复:https://codereview.qt-project.org/c/qt/qtbase/+/384712

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

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

相关文章

keil5修改默认配色方案

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1. 找到Keil_5\UV4路径下的两个文件2. 修改global.prop文件中的内容第一种 配色方案第二种 配色方案第三种 配色方案第四种 配色方案 最后 前言 提示&#xff…

GPT3.5 改用 GPT4 价格翻了30倍 如何破局? GPT 对话成本推演

场景介绍 假设你搭建了一个平台&#xff0c;提供 ChatGPT 3.5 的聊天服务。目前已经有一批用户的使用数据&#xff0c;想要测算一下如果更换 GPT 4.0 服务需要多少成本&#xff1f; 方案阐述 如果是全切&#xff0c;最简单粗暴的方案就是根据提供 ChatGPT 3.5 消费的金额乘…

【FileZilla】FileZilla的使用及主动模式与被动模式----图文并茂详细讲解

目录 一 FileZilla的简介 1.1 是什么 1.2 应用场景 二 FileZilla的安装及准备工作 2.1 下载安装 2.2 主机连接VMware 三 FileZilla使用 3.1 内部连接文件管理 3.1.1 添加组 3.1.2 添加用户 3.1.3 添加用户密码 3.1.4 添加用户权限 3.1.5 连接测试 3.2 外部连接文…

Solidworks学习笔记

本内容为solidworks的学习笔记&#xff0c;根据自己的理解进行记录&#xff0c;部分可能不正确&#xff0c;请自行判断。 学习视频参考&#xff1a;【SolidWorks2018视频教程 SW2018中文版软件基础教学知识 SolidWorks自学教程软件操作教程 sw视频教程 零基础教程 视频教程】 h…

游戏软件缺少d3dcompiler.dll文件的多种修复方法分享

在操作系统中&#xff0c;d3dcompiler.dll是一个非常重要的组件&#xff0c;主要负责DirectX图形技术的编译和解析。许多用户在安装或使用某些软件时&#xff0c;提示“缺少d3dcompiler.dll”。这个错误通常出现在游戏或应用程序运行时&#xff0c;它会导致程序无法正常启动或运…

【linux】tail的基本使用

在linux可以用find查找一个文件&#xff0c;可以用grep查找符合要求的文件内容&#xff0c;但是有的时候希望查看文件的前几行或者后几行&#xff08;其实这种场景经常可以遇到&#xff0c;比如接触到日志分析的时候&#xff09;&#xff0c;那就应该使用head和tail这两个工具了…

CentOS 7 实战指南:目录操作命令详解

写在前面 想要在 CentOS 7 系统下更高效地进行目录操作吗&#xff1f;不要犹豫&#xff0c;在这里我为你准备了一篇精彩的技术文章&#xff01;这篇文章将带您深入了解 CentOS 7 下目录操作相关命令的使用方法。无论您是新手还是有一定经验的用户&#xff0c;这篇文章都将为您…

认识计算机网络——计算机网络的组成

计算机网络是由多个计算机和网络设备组成的系统&#xff0c;通过通信协议实现数据传输和信息交换。它是现代社会信息技术的重要支撑&#xff0c;广泛应用于各个领域。本文将介绍计算机网络的主要组成部分&#xff0c;包括硬件设备、软件协议和网络服务。 一、硬件设备 计算机网…

emacs:Searching for program: No such file or directory,sml;

首先&#xff0c;编辑一个现有的或新的 SML 文件&#xff08;如果没有其他方便的方法&#xff0c;可尝试C-x C-f test.smlC-x C-f test.sml 创建一个新文件&#xff09;。你会看到 Emacs 窗口底部的模式显示从 "基本"&#xff08;或其他任何模式&#xff09;变成了 S…

【Redis-10】Redis集群的实现原理和实践

Redis集群是Redis提供的分布式数据库方案&#xff0c;通过分片来进行数据共享&#xff0c;实现复制和故障转移的功能。 1. Redis集群节点 一个Redis集群由多个节点组成&#xff0c;多个节点可以通过命令实现连接&#xff0c;由独立状态转为集群状态&#xff0c;命令是cluster …

Python开源项目月排行 2023年12月

Python 趋势月报&#xff0c;按月浏览往期 GitHub,Gitee 等最热门的Python开源项目&#xff0c;入选的项目主要参考GitHub Trending,部分参考了Gitee和其他。排名不分先后&#xff0c;都是当前月份内相对热门的项目。 入选公式&#xff1d;70%GitHub Trending20%Gitee10%其他 …

回顾2023,我的编程学习之旅

文章目录 前言我与C语言初识C语言简易扫雷游戏二进制的美妙神奇的指针强大的结构体灵活的动态内存管理总结 我与竞赛我与CSDN结语 前言 6月8号高考结束了&#xff0c;虽然还没有出分&#xff0c;但是也大致规划好自己想学什么专业了&#xff0c;没错就是计算机&#xff0c;出分…

数据库系统概论SQL编程题合集(包含期末题、考研初试题以及复试题)

二、现有数据库casemanage中表结构如下图 1&#xff09;请编写sql语句对年龄进行升序排列 select * from afinfo order by birth;2&#xff09;请编写sql语句查询对“徐”姓开头的人员名单 select * from afinfo where name like 徐%;3&#xff09;请编写sql语句修改“陈晓”…

四种常见智能指针的介绍

一、介绍 当类中有指针成员时&#xff0c;一般有两种方式来管理指针成员&#xff1a;一是采用值型的方式管理&#xff0c;每个类对象都保留一份指针指向的对象的拷贝&#xff1b;另一种更优雅的方式是使用智能指针(smart pointer)&#xff0c;从而实现指针指向的对象的共享。 …

【LeetCode】每日一题 2023_12_31 一年中的第几天(日期)

文章目录 随便聊聊时间题目&#xff1a;一年中的第几天题目描述代码与解题思路 随便聊聊时间 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 12 月的打卡勋章&#xff0c;get&#xff01; 题目&#xff1a;一年中的第几天 题目链接&#xff1a;1154. 一年中…

2023 年四川省职业院校技能大赛“信息安全管理与评估”样题

2023 年四川省职业院校技能大赛&#xff08;高等职业教育&#xff09; “信息安全管理与评估”样题 竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 第一阶段&#xff1a;模块一 网络平台搭建与设…

【Proteus仿真】【STM32单片机】自动除湿器系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用按键、LCD1602液晶、DHT11温湿度、继电器除湿模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示DHT11传感器检测的湿度值阈值…

【实用工具】Tmux使用指南

Tmux 三个重要概念 session&#xff08;会话&#xff09;、window&#xff08;窗口&#xff09;、pane&#xff08;面板&#xff09; 一个会话可以有多个窗口&#xff0c;一个窗口可以划分为多个面板 注意在tmux中使用快捷命令的话&#xff0c;需要加上前缀ctrlb 关于session的…

不擅长设计也能做好邮件营销:实用技巧与指南分享

电子邮件营销是跨境电商中非常常见的品牌推广方式之一。但对于那些不擅长设计的人来讲&#xff0c;设计一封引人注目的电子邮件可能是一个磨练。本文将分享一些提议&#xff0c;协助跨境电商顾客处理不擅长设计问题。 不擅长设计的情况下怎么进行邮件营销&#xff1f;首先我们…

C语言——扫雷

扫雷是一款经典的小游戏&#xff0c;那如何使用C语言实现一个扫雷游戏呢&#xff1f; 一、全部源码 直接把全部源码放在开头&#xff0c;如有需要&#xff0c;直接拿走。 源码分为三个文件&#xff1a; test.cpp/c 主函数的位置 #include "game.h"int main() {…