python使用KDDockWidget

2023-11-12

编译原理:KDDockWidget是一个C++库,通过shiboken转成python的绑定支持。针对特殊版本,需要在cmake文件中增加一些变量。

注:本次编译,Qt版本统一指定为6.4.2,库支持Qt>5.12或6.2.0以上版本

pip install \ --index-url=https://download.qt.io/official_releases/QtForPython/ \ --trusted-host download.qt.io \ shiboken6==6.4.2 pyside6==6.4.2 shiboken6_generator==6.4.2
  • 下载并替换LLVM,参考。 原因:如果是用vs2019编译,无法使用编译后的dll,而且最坑爹的是编译时即使报错完全不会终止。(结果会导致即便编译出dll文件,使用时会一直报找不到模块)

  • 设置环境变量
set "LLVM_INSTALL_DIR=C:\Program Files\LLVM"
  • 修改shiboken6_generator的libclang.dll文件,把shiboken6_generator的libclang.dll文件,替换为vs2019下载得libclang.dll
  • 修改CMakeLists.txt文件
# 设置编译qt的位置(cmake find_package qt就是通过这里的路径查找的)
set(CMAKE_PREFIX_PATH "D:/software/qt/6.4.2/msvc2019_64")

# 设置python.exe位置(项目一般是.venv/Scripts下)
set(PYTHON_EXECUTABLE "G:/Source/LauncherDemo/.venv/Scripts")

# 配置绑定到的位置(项目一般是.vevn)
set(KDDockWidgets_PYTHON_BINDINGS_INSTALL_PREFIX "G:/Source/LauncherDemo/.venv")

# 找到option(${PROJECT_NAME}_QT6 "Build against Qt 6" OFF),改为ON
option(${PROJECT_NAME}_QT6 "Build against Qt 6" ON)
  • 指定python版本,修改python/CMakeLists.txt文件
# 30行修改为3.11(之前是3.7,这里如果不改,就会找到一个本机3.7版本以上的最小版本python
# 不知道为啥上面的PYTHON_EXECUTABLE不生效)
find_package(Python3 3.11 REQUIRED COMPONENTS Interpreter Development)
  • 调用cmake生成预安装文件
cmake -DKDDockWidgets_PYTHON_BINDINGS=True -DCMAKE_BUILD_TYPE=Release . --config Release
  • 编译 & 安装(安装到c盘,并且安装bindings到python包中)
cmake --build . --target install --config Release

备注:还不支持python qml,Is there a way to use DockWidgetQuick from Python? · Issue #290 · KDAB/KDDockWidgets · GitHub

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python使用KDDockWidget 的相关文章

  • 调整 QML 图像显示尺寸

    我有一个带有嵌套的 QML 窗口RowLayout 在内排我有两个图像 来源 png这些图像的文件 故意 相当大 当我尝试设置height这些图像上的属性使它们变小 但它们仍然被画得很大 Desired Appearance Actual
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • MAC 上的 QT/C++ - 未设置应用程序图标

    我正在努力解决的奇怪问题 在与我的 pro QT 项目文件相同的文件夹中 我有一个 Resources myIcon png 我试图将其设置为我构建的应用程序的图标 在 OSX 上运行 我阅读了文档 它建议在 pro 文件中添加 ICON
  • QGraphicsView 和 eventFilter

    这个问题已经困扰我两天多了 所以我想我应该问一下 我在Win7上使用Qt 4 5 3 用VC2008编译 我有 MyGraphicsView 继承 QGraphicsView 和 MyFilter 继承 QObject 类 当我将 MyFi
  • 当 QML 对象不可见时防止 QML 属性绑定?

    我正在开发一个具有大量属性绑定的 QML 应用程序 数百个对象被跟踪并以不同的形式显示 例如 Qt3D QCanvas 当我在应用程序的单独页面上时 x y 位置和相对大小的属性绑定仍在发生 我怎样才能阻止他们 我知道我可以根据属性是否可视
  • Qt程序部署到多平台,如何?

    我是 Qt 编程新手 我想开发一个程序 我想在 Windows Linux ubuntu 和 Mac 上运行 听说Qt支持多平台应用程序开发 但我的问题是 在我部署或编译后 任何 Qt 库都需要在 Ubuntu 中运行这个应用程序吗 如果您
  • 如何在 C++ 和 QML 应用程序中使用 qrc?

    我在 Windows7 上用 c qnd Qt Creator QML 编写了 Qt Quick Desktop 应用程序 现在 我必须部署它 并且我需要隐藏 qml 文件和图像 意味着 将它们放入资源等中 我读到有一个很好的方法可以使用
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF
  • 程序意外完成 - QT Creator

    我正在尝试使用 QT Creator 使用 QT 框架开发 GUI 控制台应用程序 我使用的是Windows XP 我安装了QT 4 8 3和mingw 两者均已安装 没有任何错误 然后我安装了QT Creator QT 版本 路径中的 Q
  • Qt Creator:如何区分 win32 和 win64

    我必须在 pro 文件中执行类似的操作 win32 LIBS L 3rdparty libusb win32 lib msvc llibusb else win64 LIBS L 3rdparty libusb win32 lib msvc
  • QT/QML Android App,点击通知栏时打开应用程序

    我为 Android 应用程序制作了一个 QT 当我单击平板电脑中上面看到的按钮通知栏时 但是 如果单击通知 我的应用程序将打开 聚焦 不知道 并显示黑色窗口 简单来说怎么做呢 我的代码是 package org ays operation
  • GoQt 致命错误:QAbstractAnimation:没有这样的文件或目录

    我尝试编译 Qt 来开发桌面应用程序 我按照 Qt 网站上的官方 wiki 指南的说明进行操作 当我尝试go run示例文件夹中的示例 我收到错误 去运行 home pinkya rabbit workspace go1programs s
  • QTcpSocket 有时不发送数据

    我有两个 QT 应用程序 一个应用程序可以被认为保存了大数据 它每秒向第二个应用程序发送大约 10 KB 的数据块 之前我尝试使用QUdpSocket来传输数据 但由于MTU限制在2 5K左右 并且需要自己分割和重新组合数据 所以我改用QT
  • PyQt:如何设置组合框项目可检查?

    为了将 GUI 小部件数量保持在最低限度 我需要找到一种方法来为用户提供下拉菜单项的选择 这些菜单项可用于过滤掉 listWidget 项中显示的内容 假设 listWidget 列出了 5 个不同类别的项目 Cat A Cat B Cat
  • 从布局中按名称获取小部件

    如果我想从 python Qt 的布局中获取特定的小部件 我应该如何进行 到目前为止我所做的 for i in range self ui horizontalLayout 14 count here it does fail name s
  • 重定向 python 交互式帮助()

    我正在为使用 Qt 的应用程序开发交互式 python shell 但是我似乎无法获得重定向的交互式帮助 我的 python 代码中有这个 class OutputCatcher def init self self data def wr
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • Qt 布局,在小部件大小更改后调整到最小大小

    基本上我有一个QGridLayout里面有一些小部件 最重要的是 2 个标签 我用它们将图像绘制到屏幕上 好吧 如果用户愿意 他可以更改传入图像的分辨率 从而强制标签调整大小 我们假设标签的初始大小是320x240 用户将 VideoMod
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr
  • QT从QTableWidgetItem继承到Widget并覆盖'<'运算符

    我想要一个QTableWidget具有定制的某些单元QProgressBars 并且我希望能够对包含这些的列进行排序 我的定制QProgressBar继承自两者QProgressBar and QTableWidgetItem 并且我正在覆

随机推荐

  • QCC300x笔记(4) -- 蓝牙地址的规则

    哈喽大家好 这是该系列博文的第四篇 篇 lt lt 系列博文索引 快速通道 gt gt 蓝牙地址分为三部分 LAP 24位地址低端部分 UAP 8位地址高端部分 和NAP 16位无意义地址部分 其中 NAP和UAP是生产厂商的唯一标识码 必
  • ubuntu技巧--python查看已安装包

    1 打开terminal 输入python 进入交互环境 2 比如要查看是否安装numpy包 则输入 help numpy
  • Pnpm:高性能的 npm

    pnpm 英文里面的意思叫做 performant npm 意味 高性能的 npm 官网地址可以参考 https pnpm io 什么是pnpm Pnpm 本质上就是一个包管理器 这一点跟 npm yarn 没有区别 但它作为杀手锏的两个优
  • python中对于bool布尔值的取反

    背景 根据公司业务的需求 需要做一个对于mysql数据库的大批量更新 脚本嘛也是干干单单 使用了redis的队列做缓存 可以异步并发的多任务进行更新 有点难受的地方在于 请求访问时 因为一些网速 速率之内的原因 导致正常的数据会请求失败 处
  • 游戏在计算机丢失,运行游戏时提示丢失d3dx9_43.dll的多种解决方法

    很多人遇到dll文件被丢失首先想到的就是电脑被中毒了 电脑被入侵了 其实往往都是自己对电脑的认识不够深而导致遇到一些小故障就盲目不知道该如何下手 当然遇到没有找到d3dx9 43 dll我们该怎么办呢 下面就来好好认识这个d3dx9 43
  • layui table默认选中指定行

    表格默认选中行 在回调里写入 done function res curr count tableData res data data field id css display none var data res data var num
  • win10系统谷歌浏览器怎么用不了?谷歌浏览器打不开网页的解决方法

    1 我们下载好谷歌浏览器后 搜索时 界面一直卡在主界面 一直在刷新 就是弹不出东西 2 通过设置来是谷歌浏览器可以进行搜索 点击右上角的三个小黑点 在下拉界面中点击 设置 3 在 地址了使用的搜索引擎 后面 点击Google后面的小三角 选
  • 【Linux】进程地址空间

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 虚拟地址 二 对进程地址空间的理解 三 32位下的进程
  • STM32CubeMX时钟源的选择

    使用STM32CubeMX进行时钟源RCC配置的时候 可以选择使用内部时钟或外部时钟 当程序对时钟精度要求较高时 通常使用外部时钟 下拉选框如下图 Disable 禁用外部时钟 BYPASS Clock Resource 外部有源晶振 旁路
  • 在windows上使用ubuntu(非虚拟机模式)

    工具 wsl ubuntu20 04 步骤 在powershell下执行wsl install等待进度条完成 在控制面板 gt 程序 gt 启用或者关闭windos功能 勾选适用于Linux的windos子系统 任务栏的搜索框输入Micro
  • python实验总结_python实训总结和体会_python实训心得体会 - CSDN

    1 字符串格式化表达式 功能 生成一个特定格式的字符串运算符 语法格式 格式化字符串 参数值或格式化字符串 参数值1 参数值2 参数值3 描述 左边是字符串的格式 右边是参数值 当有多个参数值 使用括号 分离格式字符串并使用一个逗号 分隔格
  • MySQL删除数据库

    删除数据库是指在数据库系统中删除已经存在的数据库 数据库删除之后 原来分配的空间将被收回 需要注意的是 数据库删除之后该数据库中所有的表和数据都将被删除 因此删除数据库要特别小心 一 通过SQL语句 MySQL中 删除数据库通过SQL语句D
  • tensorflow学习(二)——训练分类时,对图像进行增强(基于tf.image存在的一些问题)

    0 写作目的 好记性不如烂笔头 1 图像分类时 图像的数据增强 在博主进行图像增强时 存在一些问题 和大家分享一下 1 1 使用tensorflow自带的读取图像函数存在的问题 如果采用直接读取图像的方式 使用tf image进行读取图像
  • zookeeper介绍

    1 简介 Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目 它主要是用来解决分布式应用中经常遇到的一些数据管理问题 如 统一命名服务 状态同步服务 集群管理 分布式应用配置项的管理等 Zookeeper 作为一个
  • Spring-Data-Jpa AuditingEntityListener @CreatedDate @LastModifiedDate 用法

    import com fasterxml jackson annotation JsonIgnoreProperties import org hibernate validator constraints NotBlank import
  • OpenStack学习笔记(二)计算服务NOVA

    本篇记录OpenStack的计算服务NOVA一些内容 很多看不懂 汗 只捡一小部分记录 一 逻辑图 OpenStack 计算服务NOVA 是基础设施服务IAAS的主要部分 采用Python实现 1 因为认证 与OpenStack 身份认证k
  • 如何将GB7714-2015格式的参考文献表转换为bib文件

    如何将GB7714 2015格式的参考文献表转换为bib文件 1 背景 latex使用参考文献是一个自动化的工作 但建立和维护bib文件其实一个长期的积累活动 有些参考文献的bibtex数据是存在 比如从各类学术网站上可以下载到 但有些网站
  • NIO-DO Java 线上笔试(编程)题,蔚来汽车

    NIO DO Java 线上笔试 编程 题 1 使用二分查找的方式来定位某一元素 2 请用你熟悉的开发语言 完成如下题目 输入 若干个集合 各集合中的元素不会重复 输出 求这些集合的笛卡尔积例如 输入 N个集合 这里N 3 a b x y
  • Laravel-Dcat-layer 手写的弹窗样式

    Dcat admin框架下重新写的弹窗样式 实现设置固定最大高度弹窗滚动 实现更好的页面效果 public function layer return lt lt
  • python使用KDDockWidget

    编译原理 KDDockWidget是一个C 库 通过shiboken转成python的绑定支持 针对特殊版本 需要在cmake文件中增加一些变量 注 本次编译 Qt版本统一指定为6 4 2 库支持Qt gt 5 12或6 2 0以上版本 下