在Cython中使用pyqt类(.pyx文件)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Cython中使用pyqt类(.pyx文件)相关的知识,希望对你有一定的参考价值。
如何在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一样。
以上是关于在Cython中使用pyqt类(.pyx文件)的主要内容,如果未能解决你的问题,请参考以下文章
.pyx 和 .pxd 文件在子目录中时的 Cython 0.23.4 AttributeError