从PySide访问d指针

时间:2015-01-08 20:18:55

标签: python qt pyside

我尝试使用PySide创建一些自定义小部件,这将扩展现有的小部件。是否可以访问存储在" d指针中的数据"来自PySide。例如,我想继承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 ++程序,答案就是简单地使用子类中的d指针'的paintEvent。

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

0 个答案:

没有答案