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

Qml实现Dock浮动、停靠功能

纯Qml实现Dock浮动、停靠功能

    • 效果展示
    • github地址:
    • 介绍
    • 环境
    • Demo代码
    • 参数说明
    • API说明

效果展示

Qml Dock效果演示

github地址:

https://github.com/longtwilight/QmlDock

介绍

这是一个使用纯qml实现的Dock组件,它支持停靠、浮动、窗体分离、窗体独立、大小调整等功能。开源它的目的是为了寻求更多的功能(如侧边栏)、更好的结构设计、更通用的应用场景以及更好的稳定性和易用性。欢迎批评和指正。

环境

Qt版本:Qt6.2.4
编译器:mingw、msvc、gcc均支持

Demo代码

import QtQuick
import QtQml
import QtQuick.Controls
import QtQuick.Window
import "./Dock/"ApplicationWindow {width: 1400height: 800visible: truetitle: qsTr("QmlDock Demo")MyDockHome{id: dockHomemyDockState: MyDockBase.DockState.Fillanchors.margins: 2Dock{id: dock1width: 600height: 550name: "dock1"dockHome: dockHomeclosable: falsedockTo: dock3direction: Dock.Direction.Center}Dock{id: dock2width: 300height: 600name: "dock2"dockHome: dockHomesplittable: falsedockTo: dock3direction: Dock.Direction.Left}Dock{id: dock3myDockState: MyDockBase.DockState.Fillname: "dock3"dockHome: dockHome}Dock{id: dock4width: 400height: 400myDockState: MyDockBase.DockState.Centername: "dock4"dockHome: dockHomeclosable: falsesplittable: false}}
}

参数说明

关键字说明取值
nameDock窗体的标题字符串
width / heightDock窗体宽度 / 高度整数
dockHome为了实现边缘的停靠,所有Dock窗体必须声明在DockHome类中,且该字段需声明为DockHome的idDockHome的id
closableDock窗体是否允许关闭true / false
splittableDock窗体是否允许从主窗体中独立出来成为单独窗体true / false
hideDock窗体默认是否显示,相当于visible属性,但visible与stacklayout视图有冲突,所以在此基础上多封装了一层true / false
myDockStateDock在DockHome中的默认状态,与anchors属性相似,但使用anchors属性会存在问题MyDockBase.DockState: Fill、Center、Top、Left、Right、Bottom、Float、Tab
dockTo窗体初始化时的停靠对象其他Dock窗体的id
direction窗体初始化时的停靠方向Dock.Direction: Center、Left、Top、Right、Bottom

API说明

方法名参数说明
focusDock()null使Dock窗体获得焦点(标题栏变成金黄色渐变色)
doDockTo(target,direction)target:待停靠的目标对象;direction:停靠方向用于js代码中动态停靠窗体
releaseDock()null取消停靠
splitToWindow()null将Dock窗体分离成为独立窗体
returnToDockHome()null将分离出去的Dock独立窗体收回到DockHome中

相关文章:

Qml实现Dock浮动、停靠功能

纯Qml实现Dock浮动、停靠功能 效果展示github地址:介绍环境Demo代码参数说明API说明 效果展示 Qml Dock效果演示 github地址: https://github.com/longtwilight/QmlDock 介绍 这是一个使用纯qml实现的Dock组件,它支持停靠、浮动、窗体分离、窗体独立、大小调整等…...

最新版本 Stable Diffusion 开源 AI 绘画工具之微调模型篇

✨ 目录 🎈 模型种类🎈 变分自动编码器 / VAE🎈 美学梯度 / Aesthetic Gradients🎈 大型语言模型的低阶自适应 / LoRA🎈 超网络模型 / Hypernetwork🎈 微调模型 / LyCORIS 🎈 模型种类 当你打开…...

路径规划算法:基于哈里斯鹰优化的路径规划算法- 附代码

路径规划算法:基于哈里斯鹰优化的路径规划算法- 附代码 文章目录 路径规划算法:基于哈里斯鹰优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…...

Web 应用程序防火墙 (WAF) 相关知识介绍

Web应用程序防火墙 (WAF) 如何工作? Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执…...

docker快速部署hue+hue集成hive

首先需要安装hive,hive的安装在HIVE的安装与配置_EEEurekaaa!的博客-CSDN博客 安装完成之后,使用脚本命令启动hdfs和hive的相关服务。 一、安装docker # 安装yum-config-manager配置工具 $ yum -y install yum-utils # 设置yum源 $ yum-co…...

基于java SpringBoot和Vue uniapp的校园信息交流小程序

随着信息社会的网络化和计算机科学的广泛普及和迅速普及应用,具有综合智能的我国校园信息教育网络已成为推动中小学科学教育及其实践科学发展的信息技术手段。迅速推进了信息化改革,改善了高校信息交流的网络环境,提高了信息教育平台的管理水…...

数据包伪造替换、会话劫持、https劫持之探索和测试

(一)数据包替换攻击 该攻击过程如下:伪造服务器响应客户端的数据包。监听客户端的数据包,用预先伪造的数据包,伪装成服务器返回的数据发送给客户端。 因为攻击者跟目标在同一个局域网,所以攻击者发送的数…...

正则表达式集合

目录 一、校验数字的表达式 1. 数字 2. n位的数字 3. 至少n位的数字 4. m-n位的数字 5. 零和非零开头的数字 6. 非零开头的最多带两位小数的数字 7. 带1-2位小数的正数或负数 8. 正数、负数、和小数 9. 有两位小数的正实数 10. 有1~3位小数的正实数 11. 非零的正整…...

Django框架中models对象转换为json的方法

在django框架中输出api接口时一般都是输出json数据但是通过orm获取的数据库数据一般都是object所以需要转换成json数据,一般有一下3种情况 1.models对象使用“all()”时 from django.http import HttpResponse from django.core import serializers from TestMode…...

利用Servlet编写第一个“hello world“

利用Servlet编写第一个"hello world" 🔎创建 Maven 项目🔎引入依赖🔎创建目录🔎编写代码🔎打包代码🔎部署🔎程序验证🔎结尾 🔎创建 Maven 项目 Maven 是一个构…...

python 爬虫之js逆向爬虫详解

随着网站前端技术的不断发展,越来越多的网站采用JS进行渲染,并加上了一些反爬机制,导致传统的爬虫技术有些力不从心。本文将为大家介绍如何进行JS逆向爬虫,并且不少于1000字。 一、JS逆向爬虫的介绍 JS逆向是一种分析反爬机制的…...

SpringBoot:WebSocket实现消息撤回、图片撤回

下面只是讲述一下实现思路,代码基本没有哈!有时间单独发表一篇关于websocket的相关操作的博客。 1. 消息撤回、图片撤回 个人觉得关于撤回,需要下述几个过程: 发送的消息的标签上可以定义一个属性,这个属性的值应该是…...

输出指定日期区间内的所有天、周、月

部分方法需要依赖hutool工具包。 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.5.10</version> </dependency>需求&#xff1a;输出2023-04-17到2023-05-23期间所有的天、周、月。…...

【线性规划模型】

线性规划模型&#xff1a;原理介绍和预测应用 引言 线性规划是运筹学中一种重要的数学优化方法&#xff0c;被广泛应用于各个领域&#xff0c;包括工业、经济、物流等。 线性规划模型的原理 线性规划模型的目标是在一组线性约束条件下&#xff0c;寻找一组变量的最优解&…...

android 12.0卸载otg设备开机不加载otg设备

1.概述 在12.0定制化开发过程中,客户有功能需求,通过系统属性值控制是否加载挂载otg设备,当设置为卸载模式时,要求不能挂载otg设备,开机也不能挂载otg设备 2.卸载otg设备开机不加载otg设备的核心代码 frameworks/base/services/core/java/com/android/server/StorageMan…...

通过 Wacom 的 Project Mercury 提高远程办公效率

过去几年中&#xff0c;我们的工作方式发生了翻天覆地的变化。疫情加快了对远程办公和协作的采纳&#xff0c;导致人们更加依赖技术来联系团队和提高工作效率。 但是&#xff0c;那些依靠专门硬件和软件来完成工作的创作者呢&#xff1f;艺术家、设计师和开发人员需要使用专门…...

Linux-0.11 文件系统namei.c详解

Linux-0.11 文件系统namei.c详解 模块简介 namei.c是整个linux-0.11版本的内核中最长的函数&#xff0c;总长度为700行。其核心是namei函数&#xff0c;即根据文件路径寻找对应的i节点。 除此以外&#xff0c;该模块还包含一些创建目录&#xff0c;删除目录&#xff0c;创建目…...

计算机网络学习笔记

<!-- GFM-TOC --> 计算机网络体系结构 传输层&#xff1a;TCP和UDP 什么是三次握手&#xff1f; 什么是四次挥手&#xff1f; TCP如何实现流量控制&#xff1f; TCP的拥塞控制是怎么实现的&#xff1f; TCP如何最大利用带宽&#xff1f; TCP与UDP的区别 TCP如何保…...

Pod相关操作命令

Pod相关操作命令 Pod setup # CocoaPods 将信息下载到~/.cocoapods/repos 目录下。如果安装 CocoaPods 时不执行此命令&#xff0c;在初次执行pod intall 命令时&#xff0c;系统也会自动执行该指令 pod --version # 检查 CocoaPods 是否安装成功及其版本号 pod repo update #…...

图灵完备游戏:信号计数 解法记录

使用1个全加器 2个半加器完成。这关的思想主旨在于如何把输出4&#xff0c;输出2&#xff0c;输出1的情况统一在一根导线上。 首先用一个全加器来完成输入2-4这三个引脚的计数&#xff0c;因为全加器输出范围二进制是00 - 11&#xff0c;而输入正好有两个引脚数位是2和1&…...

保姆级教程:在CentOS 7/8上从源码编译安装最新版ProxyChains-ng(含systemd服务配置)

CentOS 7/8源码编译ProxyChains-ng全指南&#xff1a;从构建到系统服务集成对于追求极致控制力的技术爱好者来说&#xff0c;预编译软件包就像黑箱操作——你永远不知道里面被加入了什么。本文将带你深入ProxyChains-ng的构建过程&#xff0c;从源码编译到系统服务集成&#xf…...

抖音下载器完整指南:3分钟批量下载无水印视频和音乐

抖音下载器完整指南&#xff1a;3分钟批量下载无水印视频和音乐 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...

OpenAI大神教你如何榨干Codex

闻乐 发自 凹非寺量子位 | 公众号 QbitAI新晋员工确实毫无保留。Jason Liu&#xff0c;13k星开源库Instructor的作者&#xff0c;刚被OpenAI招进Codex团队没多久&#xff0c;不仅在社交平台大方发API额度&#xff1b;还写了篇Codex-maxxing&#xff0c;把自己的Codex玩法全抖出…...

Steam创意工坊模组下载终极指南:WorkshopDL跨平台模组自由教程

Steam创意工坊模组下载终极指南&#xff1a;WorkshopDL跨平台模组自由教程 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为Epic Games或GOG平台上的游戏无法使用Steam创意…...

如何解决网易云音乐NCM格式限制:ncmdump完整实战指南

如何解决网易云音乐NCM格式限制&#xff1a;ncmdump完整实战指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾因网易云音乐的NCM加密格式而无法在喜欢的播放器上聆听音乐&#xff1f;ncmdump正是你需要的解决方案。这款开…...

Outlook CVE-2023-36895:MAPI与HTML渲染器间的类型混淆漏洞

1. 这个漏洞不是“点开邮件就中招”&#xff0c;但比你想象的更危险CVE-2023-36895&#xff0c;微软在2023年8月补丁星期二发布的那个Outlook远程代码执行漏洞&#xff0c;标题里写着“远程代码执行”&#xff0c;很多人第一反应是&#xff1a;“完了&#xff0c;我昨天刚看了封…...

基于神经进化势函数与差分进化算法解析γ-Al2O3缺陷结构

1. 项目概述与核心挑战在材料模拟领域&#xff0c;氧化铝&#xff08;Al2O3&#xff09;家族因其丰富的多晶型相和广泛的应用&#xff08;从催化剂载体到耐磨涂层&#xff09;而备受关注。其中&#xff0c;γ-Al2O3作为一类关键的过渡氧化铝&#xff0c;其结构解析一直是材料科…...

Keil µVision项目复制后构建失败的诊断与解决

1. 问题现象与背景解析最近在Keil Vision开发环境中遇到一个典型的"项目复制后构建失败"问题&#xff1a;将一个原本正常编译的C语言项目复制到新目录后&#xff0c;仅做了少量修改&#xff0c;却突然出现error (40): expected an identifier or (的语法错误。这种情…...

AI与建模仿真融合:数字孪生从静态走向智能的核心路径与实践

1. 项目概述&#xff1a;当AI遇见建模仿真&#xff0c;数字孪生进入“觉醒”时代最近几年&#xff0c;数字孪生这个概念火得一塌糊涂&#xff0c;从智能制造到智慧城市&#xff0c;再到医疗健康&#xff0c;几乎每个行业都在谈论它。但说实话&#xff0c;很多项目做出来&#x…...

如何用Nvidia Geforce RTX 5060 Ti显卡进行本地Whisper语音转文字任务?

在Windows平台上&#xff0c;用你的RTX 5060 Ti 16GB显卡搭建本地Whisper语音转文字服务&#xff0c;主要有几种方式&#xff1a;从开箱即用的图形界面&#xff0c;到追求极致速度的命令行&#xff0c;再到能集成其他AI应用的API服务。我整理了详细的步骤&#xff0c;你可以根据…...