shiboken类型系统没有继承类
shiboken typesystem not inheriting classes
我有两个shiboken库来将Qt绑定导出到Python
我在Lib2中的Lib1子类没有从绑定继承任何方法,包括任何QWidget/QObject方法。
我已经加载了打字系统:
<load-typesystem name="source/plugin/typesystem_lib1.pyside.xml" generate="no" />
生成的绑定是可用的,但它缺少继承的方法
如果有区别的话,代码是按名称命名的。
有人在这样的事情上运气好吗?
编辑:
看起来shiboken实际上是根据shiboken头文件(global.h)中的导入顺序添加的
因此,在包含该标头之前,您需要确保包含该标头的所有依赖项,并且所有包含项都必须在shiboken标头中,您不能包含包含其他文件的文件,因为它们不受尊重
此外,shiboken不会使用完整的路径,只使用标头名称,因此我在构建过程中创建了一个自动符号链接,该链接创建了指向我的标头的符号链接,并将其命名为path_to_data.h以使其唯一
/编辑
事实证明,这之所以失败,是因为我的两个类文件的名称相同,而shiboken在包含信息时会感到困惑。
Shiboken从Shiboken头中加载头,但它只将它们剥离为文件名,而不是保留完整路径,这意味着我们得到:
#include "/path/to/data.h"
#include "data.h"
如果data.h在include路径上的某个位置,它会在其中找到同名的类
我认为这是一个bug,但希望这能帮助其他遇到这个问题的人。
相关文章:
- 如何正确消除继承类型定义的歧义?以及如何简化他们的创作?
- 如何从C 中的集合中检索多个继承类型
- 从模板继承<类型名 T、T 最大值、T 最小值>具有多个类型名模板参数的结构
- 概念侧类型'Converter.Session'中杆件'SessionId'的类型'Edm.Int32'与类型"系统"不匹配
- 如何在没有RTTI的情况下设计动态类型系统
- 在基于继承的系统中添加过滤输出的机制
- 继承类型的指针之间的静态强制转换
- 指向具有继承类型的类数据成员的指针
- 继承类型强制
- shiboken类型系统没有继承类
- 可以从模板化的智能指针仅继承类型类吗
- 此代码是否颠覆了C++类型系统
- 仅通过从其他类继承类型来定义类型
- 如果继承类型受到保护,我可以制作基类的指针以指向派生对象吗?
- 无法将字段"对"声明为抽象类型"系统"
- std::tuple,按继承类型获取项
- 自定义C++的运行时类型系统/库
- 调用具有继承类型的基类函数
- 继承c++类型保护
- 如何在c++中更改继承类型的访问类型