tst*_*ner 25 c++ python qt pyqt pyside
我想用Qt编写一个C++应用程序,但是首先使用Python构建一个原型,然后逐渐用C++替换Python代码.
这是正确的方法,我应该使用哪些工具(绑定,绑定生成器,IDE)?
理想情况下,所有内容都应该在Ubuntu存储库中可用,因此我不必担心不兼容或旧版本,并且只需简单地设置所有内容即可aptitude install
.
是否有关于此过程的全面文档,或者我是否必须学习每个组件,如果是,那么哪些组件?
现在我有多种选择:Qt Creator,因为很好的自动完成和Qt集成.
Eclipse,因为它支持C++和Python.埃里克(还没用过)Vim
PySide因为它正在使用CMake和Boost.Python,所以从理论上讲它会更容易替换python代码.PyQt因为它被更广泛地使用(更多支持)并且可以作为Debian包使用.
编辑:因为我必须将程序部署到各种计算机,C++ - 解决方案将需要1-5个文件(程序和一些库文件,如果我静态链接它),使用Python我必须构建PyQt/PySide/SIP /在每个平台上都有,并解释如何安装Python和其他所有东西.
Kal*_*son 36
我想用Qt编写一个C++应用程序,但是首先使用Python构建一个原型,然后逐渐用C++替换Python代码.这是正确的方法吗?
这取决于你的目标.完成这两项工作后,我建议您尽可能合理地使用Python.虽然它需要一些纪律,但是用Python编写非常大的应用程序是非常可能的.但是,当您发现可以在C++中更好地处理的热点和事物时,您当然可以将相关部分移植到C++中.
是否有关于此过程的全面文档,或者我是否必须学习每个组件,如果是,那么哪些组件?
这是我推荐的各种作品:
EDITOR/IDE:使用您熟悉的任何编辑器/ IDE,但我强烈推荐一种支持重构的编辑器/ IDE.如果您对Eclipse感到满意,请使用它.如果你想主要使用C++路线并且你对任何编辑都不太熟悉,那么使用QtCreator可能会更好. Eric是一个非常好的Python IDE,支持重构,除非你要做很多C++,看看它.更好的是,它的源代码是一个很好的PyQt使用和实践的例子.
过程:
快速摘要:
一般细节:
使用PyQt在Python中编写应用程序.小心保持关注点的良好分离,这样当您需要将片段移植到C++时,它们将与其依赖项分离.当你最终需要将某些东西移植到C++时,用C++/Qt编写它,然后使用SIP为它创建绑定.SIP有关于该过程的一本很好的参考手册,你以PyQt为例.
部署:
C++ - 对于许多应用程序,依赖关系非常简单,使用NullSoft的Installer或InnoSetup等工具创建安装程序并不困难.
Python/PyQt - PyQt应用程序安装起来有点困难,因为它依赖于Python并且依赖于Qt库的存在.一个人记录了他在ARSTechnica的这篇文章所做的努力. py2exe在Windows上工作得很好,应该可以正常工作.与Python源一起提供的IME,freeze.py,有时会确定哪些共享库是真正必要的,有时最终会创建一个不存在依赖关系的二进制文件.Py2app可以在Mac OS X上运行.
但更糟糕的是PyQt/Qt许可.如果您正在开发商业应用程序,则需要拥有商业PyQt(和Qt)许可证,并确保防止用户因许可限制而轻松修改源代码或以其他方式针对PyQt/Qt API编写代码.因此,PyQt作者创建了一个名为VendorId的工具(尽管它有Python许可证).在VendorId中是一个名为SIB的工具,可用于创建仅依赖于Python解释器的可执行文件.但是,如果你打算走这么远,你可能想要在你的应用程序中安装自定义Python.
免责声明:我根本没有使用过PySide,所以我不确定它与PyQt相比如何.另外,请在其网站上注明以下警告:
PySide正在进行中,尚不适合需要生产级稳定性的应用程序开发.
但是,好的一点是,他们打算,至少在初始版本中"保持与PyQt的API兼容性".因此,除了C++绑定之外,您可以稍后在两者之间轻松切换.