python - 在 Cython(.pyx 文件)中使用 pyqt 类
问题描述
如何在 Cython(.pyx 文件)中使用 pyqt 类?
其实pyqt类在cython类中怎么继承呢?
谢谢你
解决方案
所有 Python 代码都应该是有效的 Cython 代码(存在错误,所以这不太正确,但很接近)。因此,使用 PyQt 的 Python 代码应该像在 Cython 下一样工作,如果不能,那么你应该将它报告给 Cython bugtracker。然而,过去人们报告了问题,因为 PyQt 使用多个线程但 Cython 并没有定期发布 GIL。因此,您可能会发现您的应用程序挂起,并且无法组合 PyQt 和 Cython。
Cython 没有对 PyQt 类的特殊访问权限,因此您不应该使用cdef
它们 - 只需将它们视为普通的 Python 变量。
由于缺乏特殊访问权限,您无法在cdef class
. 但是,当您从普通类继承时,它们可以正常工作。
一般来说,尝试cdef
为常规 Python 对象(包括 PyQt 类)设置类型没有任何好处;只需像编写 Python 一样编写代码即可。
推荐阅读
- docker - docker-compose 中的 docker run -e 等效项是什么
- mysql - 优化大数据的“有计数(不同)”查询
- sorting - Scilab 按第二列排序
- python - 我的进程完成了它的“运行”功能,但它没有死
- android - Nav 组件 deeplink 不做条件导航
- python - 如何合并多个 DataFrame 的列表并用另一个列表标记每个列
- python - 将计时器添加到此脚本中的这些文件中的 1 个
- r - Rvest - 无需 HTML 表单即可登录网站
- mysql - 优化mysql上大量数据的查询
- python - 如何求和和转置数据框系列