从PySide访问d指针

spi*_*ick 6 python qt pyside

我正在尝试使用PySide创建一些自定义小部件,这将扩展现有的小部件.是否可以从PySide访问存储在"d指针"中的数据.例如,我想继承QLabel.我需要编写一个新的paintEvent函数,但是,我需要复制一些使用来自"d指针"的数据的paintEvent代码,例如d-> control-> document(),据我所知,QLabel没有成员函数来检索它.这可能是纯粹用Python做的,还是我必须创建一个c ++子类并为它创建新的Python绑定?

编辑以响应@ f.rodrigues的评论(因为我的回复太长而无法发表评论)

我需要做的主要事情是创建一个垂直标签,文本旋转90度.StackOverflow(以及Web的其余部分)有很多关于如何通过继承QLabel并覆盖paintEvent函数来创建它的示例.这里的问题是现在调用我的新类的paintEvent,而不是QLabel绘制事件.因此,我想在子类中拥有的QLabel.paintEvent中的任何功能都必须在子类中重写.如果你看一下QLabel :: paintEvent的源代码,可以采用一些不使用d指针就不可能的代码路径.如果我正在编写一个c ++程序,答案就是简单地使用子类'paintEvent中的d指针.

为了我的迫切需要,我能够在不使用d指针的情况下得到我需要的东西.我想知道我的问题的答案,以防我需要修改我的VerticalLabel类或需要子类化不同的Qt类.