在PYQ上使用本地C++ Qt的优点是什么?

2024-04-26 20:39:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Qt开发,我已经知道Python了。我正在学习C++,所以在Python上用C++编程QT有什么好处?C++似乎更复杂,而且似乎没有多少好处。


Tags: 编程qt
3条回答

如果您计划分发应用程序,那么交付自包含的编译可执行文件要比依赖最终用户先安装Python和PyQt容易得多。但这可能是你的考虑,也可能不是。

C++优化机床速度。

Python优化了程序员的速度。

C++是相对冗长的:每个词表达的单词越多。代码的错误/行数大约是一个常量,因此简洁性很重要。

C++内存管理有时是手动的,这可能意味着奇怪的运行时问题{a1},包括分段错误和内存泄漏。Python将这一点从程序员手中夺走,并将其自动化。

GUI很少关心其实现语言的速度,主要问题是最终用户输入和单击的速度。

What is the advantage of using the native C++ Qt over PyQt

速度/功率/控制。

PyQt应用程序仍然需要python。C++ /QT应用程序编译为本地EXE。通过使用C++,你可以访问Python中无法使用的第三方库,而且你可以消灭位于程序和QT DLL之间的“中间人”层,并且可能会获得更好的性能。例如,我不会用python编写一个archiver或mp3解压器,尽管它肯定可以完成。

然而,这是要付出代价的——c++没有垃圾收集器,要复杂得多,开发“较慢”(编译时间),需要数年才能掌握,只有当瓶颈在解释器内(即脚本语言开销)时,才能获得更好的性能。即C++以更大的责任和更长的开发时间来提供更多的能量。如果你不需要,那么你就没有理由坚持C++。

语言的选择取决于你的申请/情况和个人喜好。如果你需要尽快申请或制作模型,那么使用你熟悉的语言是合理的。如果你有严重的性能问题,那么雇佣熟练的C++程序员来做这个工作是合理的。

请注意,语言是一种工具。如果你仅仅因为喜欢你的语言就想把你的语言用于一切,那你就没有效率了。

--编辑--

就我个人而言,我不会将python用于希望长期维护的大型应用程序。然而,这是因为语言与我的思维方式(依赖墨菲定律)不完全一致,并且(结果)我对它感到不舒服。思维方式不同的人可能对Python更为舒适,甚至可能认为C++过于严格。

另一个问题是,根据我编写Brand插件和各种Python脚本的经验,出现一些严重的性能开销,因为语言是脚本编写的,并且在C++中可以很快执行的非常重的列表/映射/数组操作可能在Python中占用5x…有些人可能会坚持认为这是可以修复的,然而,这种“修复”的成本可能会克服使用脚本语言所带来的好处。不管我的喜好如何,我仍然使用Python来制作实用程序脚本,这些脚本需要运行多个实用程序,拆分/拼接/解析文本输出并用它做一些事情(C++在这种情况下不是很好),而且我仍然提供一个必须扩展的程序中的Python绑定(假设Lua不好)。

<>最后归结为选择最合适的工具——如果C++与Python相比没有给你带来任何好处,那么就没有理由切换了。

相关问题 更多 >