KDDockWidgets源码编译及安装
2021/6/5 12:22:15
本文主要是介绍KDDockWidgets源码编译及安装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
简介
KDDockWidgets 是由 KDAB(官网) 编写的 Qt Dock 小部件库,适用于替换 QDockWidget和实现 Qt 中缺少的高级功能。
功能特点:
- 提供 QDockWidget 不支持的高级对接
- 在 Windows 上调整本机窗口大小(即使使用自定义标题栏装饰也允许 Aero-snap)
- 箭头下降指示器可实现出色的下降精度
- 允许完全不同的、用户提供的、丢弃指示器类型
- 在浮动窗口中嵌套停靠小部件并将该组停靠回主窗口
- 停靠到任何主窗口,而不仅仅是父主窗口
- 停靠到主窗口的中心,或者干脆去掉“中央小部件”的概念
- 主窗口支持中心小部件中的可拆卸选项卡
- 将标签栏中的任意标签分离到停靠区域
- 支持1个以上主窗口
- 支持关联,使一些停靠小部件只能停靠在某些主窗口上
- 允许隐藏标题栏并只显示选项卡。允许通过标签栏拖动。
- 公开内部助手小部件,以便用户可以自定义它们或提供他自己的
- 自定义选项卡小部件
- 自定义标题栏
- 自定义窗框
- 自定义小部件分隔符
- 跨平台(macOS、Linux、Windows、WebAssembly、Wayland、X11/XCB、EGLFS 正在工作)有关平台特定信息,请参阅 README-Wayland.md 和 README-WASM.md。
- 布局引擎遵守最小/最大尺寸限制和一些尺寸策略
- PySide2 绑定
- 干净的代码库
- 不将 GUI 与状态与逻辑与动画混合
- 强大的测试覆盖率,甚至 GUI 和 DnD 操作都经过测试。目前有 200 个测试。
- 用于进行随机测试和查找错误的模糊器
- 延迟分隔符调整大小
- 用鼠标重新排序标签
- 部分布局保存/恢复,仅影响选定的子集
- 双击标题栏最大化
- 双击分隔符以平均分配
- 在选项卡上显示关闭按钮
- 允许使停靠小部件不可关闭和/或不可停靠
- 标题栏上可选的最小化和最大化按钮
- FloatingWindows 可以是实用程序窗口或完全原生的
以上描述可以看到,KDDockWidgets的扩展功能是非常丰富的,操作有点类似VS。
github地址:https://github.com/KDAB/KDDockWidgets
今天主要来介绍如何编译源码并安装,然后运行自带的示例。我在这过程中遇到了很多坑,把整个过程记录一下,以便他人参考。
编译准备
在编译KDDockWidgets之前所需要做以下准备:
- cmake,参考这里
- ninja,参考这里
- 编译器,我这里使用VS2017进行编译,自行安装
- Qt,KDDockWidgets 需要Qt >= 5.9(如果启用 Python 绑定,则 >=5.12)。QtQuick 支持需要Qt >= 5.15。支持Qt 6
设置环境变量
注意,这一步非常关键,安装完上面的软件后必须要设置环境变量,否则在编译KDDockWidgets时无法正确引用。
右键我的电脑打开属性:
注意,由于KDDockWidgets配置的默认编译选择是32bit的(可以去修改,具体修改方法自行参照网上资料,我这里就直接用默认的32位编译),所以环境变量的要配置x86路径。
新建系统变量LIB,添加VS相关的环境变量
新建系统变量INCLUDE
在PATH中添加 cmake、ninja、Qt、VS等环境变量
注:以上是我电脑的路径,根据自己的实际路径进行添加。
开始编译
从github上下载源代码到本地
打开CMD终端 将目录切换到源码目录
然后输入:cmake . -G Ninja
然后输入:cmake --build .
等待编译
执行完后会在bin目录下生成
这里编译会将源代码以及示例代码一起编译,在bin目录下生成示例程序,双击即可打开体验。
最后执行安装命令:cmake --build . --target install
注意,这里只是编译了debug版本的库,默认会安装到C盘:
根据官方提供的示例运行,体验还不错,功能比原生的QDockWidget更加丰富,若想在自己项目中使用KDDockWidgets,可以参照其示例进行修改。
可能会遇到的问题
以上步骤看起来很简单,但其实过程中遇到了很多的问题,主要都是环境变量引起的,由于我自己电脑是64位,所以配置环境变量的路径全是64位的,所以不断的报错,比如:
还有其他lib引用错误等,其实都是环境变量的原因导致的,源代码中的编译设置是32位,所以所有的环境变量配置都需要32位的路径,Qt也需要安装32位的vs版本,只要设置正确就不会有啥大问题了。
如果要编译64位库以及release版本的dll,那就需要修改根目录的makefile文件了,这里不做描述,可参考网上资料。
这篇关于KDDockWidgets源码编译及安装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享