【发布时间】:2018-05-16 09:34:09
【问题描述】:
在 Windows 上,我需要在 Python 中使用一些用 C++ 编写的自定义 Qt5 小部件,并且由于其许可,我必须使用 pyside2。
我已经能够从源代码编译pyside2 库(连同shiboken2 示例),但我无法找到如何包装自定义Qt5 小部件的简单示例。
我知道pyside2 还没有正式发布,但它似乎已经被使用(例如,在 Maya 中):In a PySide2 app, how can I get the ID for a QWindow?
任何人都可以提供提示或指示吗?一个最小的例子会更好。
编辑
基于@placinta cmets,我创建了一个repo,其中包含一个尝试包装自定义QMainWindow 的最小示例。
在我的测试中,我使用了 pyside2 Conda package 包装 Qt 5.6。
当我执行shiboken2 可执行文件时,我得到tons of warnings。
我假设这些警告会触发带有shiboken2 生成代码的compilation error。
【问题讨论】:
-
这并不是一个完整的答案,因此我将其作为评论发布。您可以使用 scriptableapplication 示例作为参考。它位于 pyside 示例仓库 git://code.qt.io/pyside/examples.git 的 5.9 分支中。该示例为 QMainWindow 派生类创建绑定以及其他内容。 shiboken 调用由 qmake 在处理 scriptableapplication.pro 文件时完成,该文件处理 .xml 类型系统文件。
-
@Placinta 谢谢!你在项目中使用
shiboken2吗? -
不,我是 PySide2 的开发者。
-
@Placinta,这太棒了!如果您能抽出时间将您的评论发展成完整的答案,那就太好了。
-
@gmas80 github.com/giumas/shiboken2_minimal 未找到
标签: c++ windows python-3.x qt5 pyside2