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

Qt扩展-KDDockWidgets 简介及配置

Qt扩展-KDDockWidgets 简介及配置]

  • 一、概述
  • 二、编译 KDDockWidgets 库
    • 1. Cmake Gui 中选择源文件和编译后的路径
    • 2. 点击Config,配置好编译器
    • 3. 点击Generate
    • 4. 在存放编译的文件夹输入如下命令开始编译
  • 三、qmake 配置

一、概述

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.dllINCLUDEPATH += $$PWD/DockFiles/include
DEPENDPATH += $$PWD/DockFiles/include
http://www.lryc.cn/news/170008.html

相关文章:

  • Vue3搭配Element Plus 实现候选搜索框效果
  • 进程间的通信方式
  • 分类预测 | Matlab实现基于MIC-BP-Adaboost最大互信息系数数据特征选择算法结合Adaboost-BP神经网络的数据分类预测
  • phpcms v9对联广告关闭左侧广告
  • 7.2.4 【MySQL】匹配范围值
  • 1400*C. No Prime Differences(找规律数学)
  • Python基础之装饰器
  • IDEA设置Maven 镜像
  • 项目评定等级L1、L2、L3、L4
  • 一个基于SpringBoot+Vue前后端分离学生宿舍管理系统详细设计实现
  • 工作相关----《配置bond》
  • Nacos、ZooKeeper和Dubbo的区别
  • 刷一下算法
  • three.js——GUI的使用
  • LeetCode 332. Reconstruct Itinerary【欧拉回路,通路,DFS】困难
  • 236. 二叉树的最近公共祖先 Python
  • WPF中DataGrid控件绑定数据源
  • Linux arm64 set_memory_ro/rw函数
  • 安达发|APS排单软件中甘特图的应用
  • 快速上手Linux基础开发工具
  • 【开发工具】idea 的全局搜索快捷键(Ctrl+shift+F)失效
  • 港联证券:“火箭蛋”来袭 蛋价涨势能否延续?
  • Vue3_vite
  • python-字符串去掉空格的常见方法
  • 如何写出一个成熟的线上线下结合的营销方案?
  • Vc - Qt - “扩张“的窗口
  • vue学习-02vue入门之组件
  • 解决Pycharm使用Conda激活环境失败的问题
  • SpringSecurity 核心组件
  • 【Vue】快速入门和生命周期