shiboken generator可以将C++代码转为python可引用的包。官方文档:https://doc.qt.io/qtforpython-6.8/shiboken6/
看一遍基本能搞懂如何使用,以下是编译示例widgetbinding的过程。
我的环境是:Win10,Qt 6.8.3,Python 3.12.4, VS 2022
配置了以下环境变量:
安装PySide
自行切换国内pip源,安装以下包:
pip install pyside6==6.8.3 shiboken6==6.8.3 shiboken6_generator==6.8.3
编译官方例子:widgetbinding
最后一个pyside_config.py不在下载下来的压缩包里,自行在对应目录创建一下:
这个例子实现了转换C++的自定义控件和用python来写的控件。
开始编译
从开始菜单打开Qt6下的CMD窗口:Qt 6.8.3 (MSVC 2022 64-bit)
如果使用了虚拟环境注意激活:{your path}\venv\Scripts\activate
执行VS2022下的vcvar64.bat加载VS环境:
默认安装的在C盘下,比如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
"D:\Programs\VS2022\VC\Auxiliary\Build\vcvars64.bat"
这里用的Qt的CMD,也可以直接用系统的CMD,然后执行以下命令来添加环境变量:
set PATH=D:\Programs\Qt\6.8\6.8.3\msvc2022_64\bin;%PATH%
cd到上面的widgetbinding目录
编译并安装:
mkdir build
cd build
cmake .. -B. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=cl.exe
ninja
ninja install
cd ..
运行:
python main.py
评论区