2013-11-28 47 views
1

我正在尝试做什么来继续开发我的应用程序。 我在MFC文档/视图体系结构中使用C++有一些经验,并且发现它非常令人沮丧。我觉得我总是在与框架作斗争,并且觉得我的应用程序不适合doc/view体系结构。 (我现在知道,它可能会对健康,如果我知道如何构建它的方式。)使用Python和tkinter与Qt和C++进行GUI开发

所以我决定尝试Python和最终使用Tkinter的。这很容易学习,并没有那么多的挫折。 (虽然它有几个不同的新的)。我想我更多地了解了一些关于面向对象并且一直在设置类的东西。但我现在担心它是一种解释型语言,而且比我的目的慢得多。

所以我一直想回到C++,但不是MFC。我已经读了一些关于wxWidgets和Qt的信息。

因此,这里的事情,我想知道:

  1. wxWidgets的和Qt,他们使用用于设置布局的GUI或直接暴露代码的方式Python和Tkinter的资源编辑器做。

  2. 请执行的wxWidgets或Qt的产生任何解释代码或一切最终编译成机器码?

感谢

+0

这些都没有解释。在Qt的情况下,如果它生成代码,它生成的代码是使用C++编译器编译为本地机器代码的C++代码。 – drescherjm

+0

Qt有一个资源编辑器。称为QtDesigner。你可以设计你的窗体,小工具..在这个和或直接在C++代码。 – drescherjm

+0

我只是简单地使用了wxwidgets(那是几年前),所以我不能对此进行评论。 – drescherjm

回答

3
1. Both 

Qt和wxWidgets的有GUI构建器可用。在Qt的情况下,会生成一个由uic解析以生成C++代码的XML文件。 wxWidgets有several designers available,它们在它们之间会有所不同,但是如果它们不都遵循相同的模式,我会感到惊讶。

然而,许多人,包括我自己,选择手工代码 - 没有要求使用UI设计师。请小心使用术语'资源编辑器',因为Qt有一个资源编辑器,它不用于设计GUI。

2. Both 

Qt和wxWidgets不仅仅是GUI框架 - 它们是跨平台的工具包。鉴于此,Qt通过在GUI开发中使用QtQuick and the QML language推动GUI与后端之间的清晰分离。当然,Qt5仍然完全支持基于C++构件的开发。 wxWidgets没有我知道的等价物。

而且,如果你喜欢的Python,但没有Tkinter的,Qt和wxWidgets的有Python绑定。

+0

对于Qt,资源编辑器与Designer集成,允许您指定GUI表单元素所需的资源文件(如图标)。所以它肯定与GUI有关。 – ekhumoro

+0

资源系统只是一种将任意数据存储在制造品中的方式,因此它可以像访问本地驱动器一样访问 - 您可以在其中存储GUI可以使用的文件(或者在QML文件的情况下是GUI) )是无关紧要的。这两个系统不受约束,也不依赖于编辑器,只是为了方便起见,编辑器才可以访问。但是,从我的句子中不清楚,所以我会编辑它。 – cmannett85