首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt开发需要学习哪种语言?

Qt开发需要学习哪种语言?
EN

Stack Overflow用户
提问于 2011-02-07 12:57:36
回答 5查看 2.8K关注 0票数 5

我是编程新手。我对C++有一定的了解,也学过Python。

现在我想开发一个Qt图形用户界面应用程序。我应该使用哪种语言进行Qt开发,使用PyQt的C++还是Python。我发现Python是一种简单的语言。

EN

回答 5

Stack Overflow用户

发布于 2011-02-07 16:24:55

这个问题没有确切的答案。话虽如此..。

你经常听到的利弊

  • Python很容易,C++很难(与Python相比)
  • C++很快,Python的性能(可以这么说)很慢。

实际上..。

这两个论点都可能是对或错,你可以做一个慢的C++程序,但你也可以做一个快的C++程序,你也可以说Python并不难,如果你知道它真的很好等等。

Qt是用C++编写的,所以文档示例是用C++编写的。这并不是真正的问题,因为很容易将其移植到Python。尽管我发现,例如,使用状态机的动画会导致分段,但PyQt和PySide的错误还不是很稳定。

那么该选哪一个呢?

这取决于你的技能和任务。如果你正在做的是你最了解的工作,并评估你实际需要多少速度,并不是每个应用程序都需要较低级别的代码。

如果你了解Python,你可以开始用Python构建你的原型,然后移植到你认为很慢的C++部分,并将它们绑定回Python(例如使用SIP ),或者甚至将整个应用程序移植到C++。这种方法也是很好的练习。

但是,即使你用Python语言编写了整个应用程序,我也怀疑你和你的客户是否会注意到如果你使用C++,你会注意到“慢”或“快”。这些事情通常取决于程序员的技能。

结论

这完全取决于你选择什么是你最舒服的,并理解你的应用程序真正需要什么,但在大多数情况下,这两种语言都可以完成这项工作。

我的主观建议是,如果你真的需要的话,可以使用Python并移植到C++。这个建议的唯一原因是,您不需要像在C++中那样多地在Python中输入内容,但这也可以被视为一个愚蠢的原因。

票数 15
EN

Stack Overflow用户

发布于 2011-02-10 23:13:45

我刚刚和PyQT完成了一个相当大的项目...我认为你的选择应该取决于三个因素:

  1. 您的受众有多大(少于100次安装?更多?)
  2. 你需要多少功能?(数据库+图形+绘图+信号分析+网络访问+诸如此类)?
  3. 您现在和将来的开发速度有多快?

C++/QT非常适合1)大量用户,2)低到中等的功能,以及3)慢到中等的开发速度。当然,只要有足够的时间和金钱,你可以用C++做任何事情。

Python/PyQt非常适合1)小受众,2)任何级别(包括高级)的功能,以及3)中等到快速的开发速度。

Python/PyQt的好处是:

  • 您不必过多地担心数据类型、头文件和许多其他会降低开发速度的问题,而且您可以在一个世界级的解释环境中工作,该环境以其促进快速而健壮的开发而闻名。
  • 您可以引入大量的第三方库,如matplotlib、scipy、sqlalchemy和configobj,这些库可以使复杂的任务变得非常简单。

Python/PyQt,IMHO的缺点是:

  • 它在某些应用程序中可能会有较慢的性能(谁在乎?这真的很重要吗?)
  • 部署起来可能要困难得多。Py2exe需要相当多的调整才能让第三方库工作,然后你仍然需要构建一个安装程序并让它工作。然后,每次有人安装你的应用程序时,你的应用程序中可能会内置10到100MB的不必要的依赖。

就我个人而言,我在一个工程研发环境中工作,在这个环境中,快速周转和广泛的数据分析/可视化是关键,部署通常只有几十个(精通技术的)人员。Python/Pyqt是明确的选择。但是,如果我要开发一个简单的、部署广泛的应用程序,比如bittorrent客户端或其他应用程序,我会一直使用C++。

其他注释:

  • PySide ( PyQt的免费LGPL替代品)发展很快,似乎肯定会让PyQt出局;我正计划在接下来的几个月内更换它,但到目前为止,一些第三方库仍然没有为它建立起来。
  • 关于Pyside的文档比PyQt好得多;如果你需要帮助,比如"QListView",只需在谷歌上搜索"Pyside QListView".
  • I'd推荐只在你需要的地方使用PyQt“。例如,当你可以只使用SqlAlchemy时,不要搞乱Python(调试是一场噩梦),当你可以使用可怕的库ConfigObj.
  • The时,不要搞乱Qt的配置系统,使用发行版Python(x,y)安装QtSQL /Pyqt/等的方法很清楚……其中包括: Python、PyQt、Qt、Eclipse、PyDev、QtDesigner、Spyder、iPython和许多有用的科学和计算库。自己编译和安装这些东西并不有趣。
票数 6
EN

Stack Overflow用户

发布于 2011-02-07 16:36:22

除了rebus给出的论点之外,我想补充的是,Python语言的开发和维护时间被认为比C++快2-10倍(在PrecheltOusterhout的论文中)。这是Python的另一个重要优势,您可能需要考虑这一点。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4918184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档