Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shiboken2和定制Qt小部件 在Windows上,我需要在Python使用C++编写的几个定制Qt5小部件,并且由于其许可证,我必须使用 PyStID2/代码>。p>_C++_Windows_Python 3.x_Qt5_Pyside2 - Fatal编程技术网

Shiboken2和定制Qt小部件 在Windows上,我需要在Python使用C++编写的几个定制Qt5小部件,并且由于其许可证,我必须使用 PyStID2/代码>。p>

Shiboken2和定制Qt小部件 在Windows上,我需要在Python使用C++编写的几个定制Qt5小部件,并且由于其许可证,我必须使用 PyStID2/代码>。p>,c++,windows,python-3.x,qt5,pyside2,C++,Windows,Python 3.x,Qt5,Pyside2,我已经能够从源代码编译pyside2库(以及shiboken2示例),但是我找不到一个简单的示例来说明如何包装定制的Qt5小部件 我知道,pyside2尚未正式发布,但它似乎已经被使用(例如,在Maya中): 有人能给点提示或指示吗?一个最小的例子就更好了 编辑 基于@placinta注释,我创建了一个简单的示例,尝试包装自定义QMainWindow 在我的测试中,我使用了包装Qt5.6的pyside2 当我执行shiboken2可执行文件时,我得到了 我假设这些警告触发了一个带有shibok

我已经能够从源代码编译
pyside2
库(以及
shiboken2
示例),但是我找不到一个简单的示例来说明如何包装定制的Qt5小部件

我知道,
pyside2
尚未正式发布,但它似乎已经被使用(例如,在Maya中):

有人能给点提示或指示吗?一个最小的例子就更好了


编辑

基于@placinta注释,我创建了一个简单的示例,尝试包装自定义
QMainWindow

在我的测试中,我使用了包装
Qt
5.6的
pyside2

当我执行
shiboken2
可执行文件时,我得到了


我假设这些警告触发了一个带有
shiboken2
生成代码的问题。

我的初始CMake配置出现了一个问题。也就是说,CMAKE_WINDOWS_EXPORT_ALL_符号有限制,所以我恢复使用“old”

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


这不是一个完整的答案,因此我将其作为评论发布。您可以使用scriptableapplication示例作为参考。它位于pyside回购协议的5.9分公司git://code.qt.io/pyside/examples.git . 该示例为QMainWindow派生类以及其他类创建绑定。shiboken调用由qmake在处理scriptableapplication.pro文件时完成,该文件处理.xml typesystem文件。@Placinta谢谢!你是在项目中使用shiboken2吗?不,我是PySide2的开发者。@Placinta,这太棒了!如果你能抽出时间把你的评论发展成一个完整的答案,那就太好了。@gmas80未找到