如何将用C ++编写的Qt4小部件实现到一些Python代码中?

时间:2012-05-23 19:22:56

标签: c++ python qt4 pyqt4

在我尝试使用PyQt4创建GUI(文档查看器)时,未能重现现有程序的质量,有人建议我应该使用那些现有程序的Qt4 Widgets(确切地说是Okular),而不是重新发明轮子。

很公平,但那些Qt4小部件是用C ++编写的:我应该如何从Python端调用它们?它是否需要我学习C(在这种情况下,我宁愿花更多的时间来计算完全的Pythonic解决方案)?

1 个答案:

答案 0 :(得分:1)

Qt不是用C语言编写的,它是用C ++编写的,Okular也是如此。

不幸的是,让C ++库与python一起使用并不像通过ctypes使用C库那么容易。为此,您需要围绕C ++ API编写一些包装代码以使其正常工作。
一些方法:

  • sip - 由PyQt使用
  • shiboken - 由PySide使用
  • cython也可用于包装C ++,不知道它是否与Qt一起运行