如何在Cython(.pyx文件)中使用pyqt类? 实际上,如何在cython类中继承pyqt类?
谢谢
所有Python代码都应该是有效的Cython代码(有bug,所以这不太正确,但它很接近)。因此,使用PyQt的Python代码应该在Cython下工作,如果没有,那么你应该将它报告给Cython bugtracker。但是,过去人们报告了问题,因为PyQt使用多个线程,但Cython不会定期发布GIL。因此,您可能会发现应用程序挂起,并且无法组合PyQt和Cython。
Cython没有对PyQt类的特殊访问权,因此你不应该对它们进行cdef
- 只需将它们视为普通的Python变量即可。
由于缺乏特殊访问权限,您无法在cdef class
中继承它们。但是,当您从普通类继承时,它们可以正常工作。
通常,尝试为常规Python对象(包括PyQt类)设置cdef
类型没有任何好处;只需编写代码就像是Python一样。