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

时间:2018-12-16 19:28:28

标签: python pyqt cython

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

谢谢

1 个答案:

答案 0 :(得分:3)

所有Python代码应该应该是有效的Cython代码(存在错误,因此并非如此,但这很接近)。因此,使用PyQt的Python代码应该可以在Cython下正常工作,如果不能运行,则应将其报告给Cython Bugtracker。但是,过去人们报告了问题,因为PyQt使用多个线程,但是Cython不会定期释放GIL。因此,您可能会发现您的应用程序挂起,无法将PyQt和Cython结合使用。


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

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


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

相关问题