在Cython中使用pyqt类(.pyx文件)

问题描述 投票:1回答:1

如何在Cython(.pyx文件)中使用pyqt类? 实际上,如何在cython类中继承pyqt类?

谢谢

python pyqt cython
1个回答
3
投票

所有Python代码都应该是有效的Cython代码(有bug,所以这不太正确,但它很接近)。因此,使用PyQt的Python代码应该在Cython下工作,如果没有,那么你应该将它报告给Cython bugtracker。但是,过去人们报告了问题,因为PyQt使用多个线程,但Cython不会定期发布GIL。因此,您可能会发现应用程序挂起,并且无法组合PyQt和Cython。


Cython没有对PyQt类的特殊访问权,因此你不应该对它们进行cdef - 只需将它们视为普通的Python变量即可。

由于缺乏特殊访问权限,您无法在cdef class中继承它们。但是,当您从普通类继承时,它们可以正常工作。


通常,尝试为常规Python对象(包括PyQt类)设置cdef类型没有任何好处;只需编写代码就像是Python一样。

© www.soinside.com 2019 - 2024. All rights reserved.