5

在 Windows 上,我需要在 Python 中使用一些用 C++ 编写的自定义 Qt5 小部件,pyside2由于它的许可,我必须使用它。

我已经能够pyside2从源代码编译库(连同shiboken2示例),但我无法找到如何包装自定义 Qt5 小部件的简单示例。

我知道pyside2它还没有正式发布,但它似乎已经被使用(例如,在 Maya 中):在 PySide2 应用程序中,我如何获取 QWindow 的 ID?

任何人都可以提供提示或指示吗?一个最小的例子会更好。


编辑

根据@placinta 的评论,我创建了一个包含一个尝试包装自定义的最小示例的存储库QMainWindow

在我的测试中,我使用了包含5.6的pyside2 Conda 包。Qt

当我执行shiboken2可执行文件时,我收到大量警告

我假设这些警告正在使用生成的代码触发编译错误。shiboken2

4

1 回答 1

0

我最初的 CMake 配置的一个问题是此处描述的问题。也就是说, CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS 有限制,所以我恢复使用 'old' export headers

但是,缺少metaObject()成员函数声明的编译错误仍然存​​在。它通过手动添加声明来工作,因为实现存在于_wrapper.cpp. 虽然它不是一个真正令人满意的解决方案,但它是其他用户的起点。

在https://bugreports.qt.io/browse/PYSIDE-597上的问题的 Qt 票证。

于 2018-01-25T17:37:16.197 回答