c++ - 使用 Python 和 tkinter 与 Qt 和 C++ 进行 GUI 开发

标签 c++ python qt wxwidgets

我正在尝试决定使用什么来继续开发我的应用程序。 我在 MFC 文档/ View 体系结构中使用 C++ 有一些经验,并且发现它非常令人沮丧。我觉得我一直在与框架作斗争,也觉得我的应用程序不适合 doc/view 架构。 (我现在知道,如果我知道如何以这种方式构建它,它可能会很合适。)

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

所以我一直想回到C++而不是MFC。我已经阅读了一些有关 wxWidgets 和 Qt 的内容。

所以这里是我想知道的事情:

  1. 对于 wxWidgets 和 Qt,他们是使用资源编辑器来设置 GUI 的布局,还是像 Python 和 tkinter 那样直接公开代码。

  2. wxWidgets 或 Qt 是否生成任何解释代码,或者所有内容最终都编译为 native 代码?

谢谢

最佳答案

1. Both

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

但是,包括我在内的很多人选择手工编写代码——并不要求使用 UI 设计器。使用术语“资源编辑器”时要小心,因为 Qt 有一个资源编辑器,它不用于设计 GUI。

2.  Both

Qt 和 wxWidgets 不仅仅是 GUI 框架——它们是跨平台的工具包。鉴于此,Qt 正在通过使用 QtQuick and the QML language 插入 GUI 和后端之间的明确分离。用于 GUI 开发。当然,Qt5 仍然完全支持基于 C++ 小部件的开发。 wxWidgets 没有我所知道的等价物。

此外,如果您喜欢 Python 但不喜欢 tkinter,Qt 和 wxWidgets 都有 Python 绑定(bind)。

关于c++ - 使用 Python 和 tkinter 与 Qt 和 C++ 进行 GUI 开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20256701/

相关文章:

python - django-allauth:检查用户是否使用社交帐户注册

c++ - 将像素图内容保存到小部件的最佳方法是什么

c++ - 错误 : Expected template-name before '<' token

python - Windows 上的 boost python 在导入 ("__main__"时崩溃);

python - deeppavlov意图dstc2分类输出不清楚(python)

c++ - 在 QTextEdit 中启用/禁用语法突出显示

c++ - 我有两个网络摄像头,但 QCameraInfo::availableCameras 返回空数组

c++ - 显式调用 `operator new` 后无法访问对象的函数

C++ 2DArray 对象;指针和数组问题

python - Django 电子邮件应用程序断线 - 最大行长度(以及如何更改它)?