shiboken2和自定义QT小部件

Shiboken2 and custom Qt widget

本文关键字:小部 QT 自定义 shiboken2      更新时间:2023-10-16

在Windows上,我需要在Python中使用一些用C 编写的自定义QT5小部件,并且由于其许可证,我必须使用pyside2

我已经能够从源中编译pyside2库(以及shiboken2示例),但是我找不到一个简单的示例,说明如何包装自定义QT5窗口小部件。

我知道pyside2仍未正式发布,但似乎已经使用了(例如,在Maya中):在Pyside2应用中,我如何获得Qwindow的ID?

有人可以给出提示或指示吗?最小的例子会更好。


编辑

基于@placinta评论,我创建了一个用最小示例的回购,试图包装自定义QMainWindow

在我的测试中,我使用了包装Qt 5.6的pyside2 CONDA软件包。

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

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

我的初始cmake配置的问题是此处描述的问题。也就是说,cmake_windows_export_all_symbols有局限性,因此我恢复使用"旧的"导出标头。

但是,仍然存在缺少metaObject()成员功能声明的汇编误差。由于_wrapper.cpp中存在实现,因此它可以手动添加声明。尽管它并不是真正令人满意的解决方案,但它是其他用户的起点。

https://bugreports.qt.io/browse/pyside-597。