【发布时间】:2013-12-13 22:26:23
【问题描述】:
我正在尝试决定使用什么来继续开发我的应用程序。 我有一些在 MFC 文档/视图体系结构中使用 C++ 的经验,并且发现它非常令人沮丧。我觉得我一直在与框架作斗争,也觉得我的应用程序不适合 doc/view 架构。 (我现在知道,如果我知道如何以这种方式构建它,它可能会很合适。)
所以我决定尝试 Python 并最终使用 tkinter。这更容易学习并且没有那么多挫折。 (虽然它有一些不同的新东西。)我想我在此过程中学到了更多关于面向对象和设置类的知识。但我现在担心它是一种解释型语言,而且就我的目的而言,它比 C++ 慢得多。
所以我一直想回到 C++ 而不是 MFC。我已经阅读了一些关于 wxWidgets 和 Qt 的内容。
以下是我想知道的事情:
对于 wxWidgets 和 Qt,他们是使用资源编辑器来设置 GUI 的布局还是像 Python 和 tkinter 那样直接公开代码。
wxWidgets 或 Qt 是否会生成任何解释代码,还是最终将所有内容编译为本机机器代码?
谢谢
【问题讨论】:
-
这两个都没有被解释。在 Qt 的情况下,如果它生成代码,它生成的代码是 c++ 代码,使用 c++ 编译器编译为本地机器代码。
-
Qt 有一个资源编辑器。称为 QtDesigner。您可以在其中设计您的表单、小部件 .. 或直接在 c++ 中编写代码。
-
我只是短暂地使用过 wxwidgets(那是几年前的事了),所以我不能进一步评论。
-
你需要真正的多线程吗?那么在这种情况下你不能使用 python,因为这里一次只有一个线程处于活动状态(在默认的 cPython 实现中,这是常用的)。如果您可以将多线程部分外包给一个库,您可以与其他线程并行运行它。使用 python 的 MT 很复杂。您可以通过搜索“全局解释器锁”来阅读或了解它。