我使用REALbasic
多年来开发跨平台应用程序。我对使用专有语言进行开发感到沮丧,因此决定更改语言并确定Python
和QT
。
由于我不懂Python,人们会推荐Python 2或3吗?
我想我会使用PyQt
或PySide
。我知道在这两个中,只有PyQt(目前)支持Python 3.这是否比PySide提供了足够的优势?只是PySide似乎有一种“更清晰”的语法。
答案 0 :(得分:1)
PySide和PyQt4几乎完全相同。实际上,您通常可以在代码的导入声明中将PyQt4
替换为PySide
(反之亦然)。
Python2和Python3几乎完全相同,只有一些小的改动,初学者暂时不会注意到(除了print
成为一个函数)。
Python2在模块方面有更多的支持(Python3向后兼容Python2),所以我建议你使用Python2,直到找到切换到Python3的理由。确实没有任何好处,因为两个版本都是单独维护的。
简而言之,坚持使用已知可行的东西。
答案 1 :(得分:0)
PyQt和PySide大多相同。许可证的主要区别在于。 PyQt是GPL,在销售应用程序时,它需要商业许可证,PySide拥有LGPL许可证,允许您在不购买许可证的情况下销售代码。好的是,你可以切换进口并出售它。 :) PySide也只有2.x,其中PyQt都是。
PySide funding is ending as well
“只是PySide似乎有一个'更清洁'的语法。”
PyQt使用2.x中的api 1(使用sip.setapi(2, 'item')
切换到api 2)和3.x中的api 2。切换到api 2将具有与3.x中的PySide和PyQt相同的语法。
可以在PSEP 101中找到解释api 1和api 2之间差异的好文章。
“既然我不懂Python,人们会推荐Python 2或3吗?”
你更有可能使用Python 2,因为很多模块和库还没有转向Python 3,因为它是针对Python 2的不兼容版本(自2008年Py3k问世以来已经有3年了! )。
考虑到具体情况,请考虑哪一种最适合您的需求。有些人更喜欢PyQt,因为它的存在时间更长,是一个更成熟的项目,因此可能更稳定。虽然,我从来没有对PySide有任何问题,所以应该没问题。
答案 2 :(得分:0)
关于“Python2或Python3?”的问题,我建议你阅读Python Wiki上的this article。除了详细解答您可能对此主题提出的大多数主要问题外,它还有许多您可能会觉得有用的链接。
至于“PyQt还是PySide?”:从纯粹的编码角度来看,差异很小,特别是初学者(详情见Qt Wiki上的this artical)。 PyQt和PySide之间唯一重要的区别是许可(GPL与LGPL)。
PyQt是一个比PySide更成熟的项目,在与Qt和Python版本的兼容性方面更加灵活。 Sip包(PyQt所依赖的)还允许您在运行时微调不同API版本的使用(有关详细信息,请参阅here)。
总的来说,“最安全”的短期选择可能是PyQt + Python2。对于PyQt,有一个很多的代码比用于PySide的代码更多,而对于Python2,有比Python3更多的代码,并且很可能会保持这种方式很长一段时间。因此,作为一个初学者,开始使用这种组合对你没有任何伤害,因为(暂时不考虑许可问题)如果必要的话,以后进行切换会相对轻松。