Qt扩展-KDDockWidgets 简介及配置

2023-09-17 15:03:14

一、概述

kdockwidgets是一个由KDAB组织编写的qtdockwidget库,这个库适合替换qdockwidget,因为这个库实现qt中缺少的高级功能。虽然kddockwidgets已经准备好开箱即用,但它也可以被视为一个框架,允许构建自定义的对接系统,也是开放了源代码,但是也要注意开源协议。

这个库可以完成类似 多窗口分类合并停靠的功能,对于写工具软件的话,上手很快,使用也是非常简单的。
在这里插入图片描述

📁 项目地址 https://github.com/KDAB/KDDockWidgets

拥有的功能
提供QDockWidget不支持的高级对接

  • Windows上的原生窗口大小调整(即使是自定义标题栏装饰也允许航空抓拍)
  • 箭头下降指示大下降精度
  • 允许用户提供完全不同的丢弃指示器类型
  • 在浮动窗口中嵌套停靠部件,并将该组停靠回主窗口
  • 对接到任何主窗口,而不仅仅是父主窗口
  • 对接到主窗口的中心,或者简单地删除“中心部件”的概念。
  • 在中心部件中支持可分离选项卡的主窗口
  • 将任意选项卡从选项卡栏分离到停靠区域
  • 支持1个以上主窗口
  • 支持关联性,使得一些停靠部件只能在某些主窗口上停靠
  • 允许隐藏标题栏,只显示选项卡。允许通过标签栏拖动。
  • 公开内部助手部件,以便用户可以自定义它们或提供自己的工具
    自定义选项卡部件
    自定义标题栏
    自定义窗口框架
    自定义窗口组件分隔符
  • 跨平台(macOS, Linux, Windows, WebAssembly, Wayland, X11/XCB, EGLFS正在工作)参见README-Wayland。md和README-WASM。Md为平台特定信息。
  • 符合最小/最大尺寸约束和一些尺寸策略的布局引擎
  • PySide2绑定
    -干净的代码库
    不要将GUI与状态、逻辑和动画混合在一起
    很好的测试覆盖率,甚至GUI和DnD操作都经过了测试。目前有200个测试。
    Fuzzer用于进行随机测试和查找bug
  • 延迟调整分隔符大小
  • 用鼠标重新排序选项卡
  • 部分布局保存/恢复,只影响选定的子集
  • 双击标题栏以最大化
  • 双击分隔符以均匀分布
  • 在选项卡上显示关闭按钮
  • 允许将停靠控件设置为不可关闭和/或不可停靠
  • 标题栏上可选的最小化和最大化按钮
  • FloatingWindows可以是实用窗口,也可以是完全原生的

二、编译 KDDockWidgets 库

这里我使用的 MinGW和 CMake-GUI工具编译的

从 GitHub下载出来的 目录下

1. Cmake Gui 中选择源文件和编译后的路径

在这里插入图片描述

2. 点击Config,配置好编译器

在这里插入图片描述
再次Config查看配置是否有效
在这里插入图片描述
记得再那个 选一个安装位置
在这里插入图片描述

3. 点击Generate

在这里插入图片描述

4. 在存放编译的文件夹输入如下命令开始编译

我用的 mingw32 编译套件,所以我使用的 下面的 make 命令

在这里插入图片描述

再输入 mingw32-make.exe install

能看到编译完成的存放路径
在这里插入图片描述

三、qmake 配置

把 bin 目录下的 dll 与 exe程序放置一起
在这里插入图片描述

在这里插入图片描述

在使用 qmake 的时候 在 pro 文件中引入这个

在这里插入图片描述

win32: LIBS += -L$$PWD/DockFiles/lib/ -llibkddockwidgets1.dll

INCLUDEPATH += $$PWD/DockFiles/include
DEPENDPATH += $$PWD/DockFiles/include
更多推荐

mysql 注入之权限

SQL注入之高权限注入在数据库中区分有数据库系统用户与数据库普通用户,二者的划分主要体现在对一些高级函数与资源表的访问权限上。直白一些就是高权限系统用户拥有整个数据库的操作权限,而普通用户只拥有部分已配置的权限。网站在创建的时候会调用数据库链接,会区分系统用户链接与普通用户链接;当多个网站存在一个数据库的时候,root

可口可乐用新的“Y3000”口味拥抱有争议的人工智能图像生成器

可口可乐公司已经迈出了一大步,用它的释放;排放;发布据报道,可口可乐Y3000零糖“限量版”饮料是与人工智能共同创造的。它未来的名字让人想起3000年的味道(还有977年),但它的营销依赖于人工智能从2023年产生的图像——这要归功于有争议的图像合成模型稳定扩散.稳定扩散是在推出“可口可乐Y3000AICam”移动应用

Ansible之Playbook的任务控制

一)Ansible任务控制基本介绍这⾥主要来介绍PlayBook中的任务控制。任务控制类似于编程语⾔中的if…、for…等逻辑控制语句。这⾥我们给出⼀个实际场景应⽤案例去说明在PlayBook中,任务控制如何应⽤。在下⾯的PlayBook中,我们创建了tomcat、www和mysql三个⽤户。安装了Nginx软件包、并

2023年华数杯数学建模C题母亲身心健康对婴儿成长的影响解题全过程文档及程序

2023年华数杯全国大学生数学建模C题母亲身心健康对婴儿成长的影响原题再现:母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护,还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、压力等,可能会对婴儿的认知、情感、社会行为等方面产生负面影响。压力过大的母亲可能会对婴儿的生理和心理发展

linux————ansible

一、认识自动化运维自动化运维:将日常IT运维中大量的重复性工作,小到简单的日常检查、配置变更和软件安装,大到整个变更流程的组织调度,由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的IT运维。自动化运维主要关注的方面管理机与被管理机的连接(管理机如何将管理指令发送给被管理机)服务器信息收集(

数学建模| 快速入门(以华为杯2019F题为例)

数学建模快速入门(华为杯2019F题为例)参考论文华为杯2019F题第一问为例读题——筛选出有用的信息问题分析——搞清楚目标和要求建立模型——将实际问题转化为数学问题判断题目类型模型假设数据处理航迹规划模型建立模型求解——实际求解的细节结果分析——展示结果回答问题的要求感想参考论文参考了两篇华为杯2019F题的优秀论文

面向面试知识--Lottery项目

面向面试知识–Lottery项目1.设计模式为什么需要设计模式?(设计模式是什么?优点有哪些?)设计模式是一套经过验证的有效的软件开发指导思想/解决方案;提高代码的可重用性和可维护性;提高团队合作开发效率;为了项目开发的代码更加具有可扩展性和灵活性,提高程序开发的效率,而提出了基于×××等原则的一些程序/项目设计模式。

Ansible 自动化运维工具部署主从数据库+读写分离

文章目录Ansible自动化运维工具部署主从数据库+读写分离一、主从复制和读写分离介绍二、准备工作(1)节点规划(2)修改主机名(3)免密(4)配置IP映射(5)安装ansible(6)配置主机清单文件三、目录结构(1)创建项目目录(2)创建角色目录(3)创建变量目录(4)init角色(5)编写剧本入口文件四、编写角色

Redis限流实践:实现用户消息推送每天最多通知2次的功能

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。🏆本文已收录于PHP专栏:PHP进阶实战教程。🏆另有专栏PHP入门基础教程,希望各位大佬多多支持❤️。🎉欢迎

Linux学习之MySQL备份

xtrabackup资源下载完全备份与恢复#1.物理备份与恢复#冷备份,需停止数据库服务适合线下服务器。[root@mysql50~]#systemctlstopmysqld[root@mysql50~]#mkdir/bakdir[root@mysql50~]#cp-r/var/lib/mysql/bakdir/mys

20230919后台面经整理

1.你认为什么是操作系统,操作系统有哪些功能os是:管理资源、向用户提供服务、硬件机器的扩展1.进程线程管理:状态、控制、通信等2.存储管理:分配回收、地址转换3.文件管理:目录、操作、磁盘、存取4.设备管理:设备驱动、分配回收、缓冲技术5.用户接口:系统命令、编程接口2.简单linux命令使用:toppsnetsta

热文推荐