qt - 桌面程序的“传统 Qt”或 'Qt Quick'?

标签 qt qt4 qt-quick

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

6年前关闭。




Improve this question




诺基亚刚刚在 Qt 的最新 beta 版本中引入了 Qt Quick(像使用 CSS/HTML 一样以声明方式构建 UI),请查看 example page ,它可以构建花哨和现代的UI,非常酷!

相反,由“传统 Qt”开发的 UI 似乎不那么花哨(我可能错了,请参阅下面的免责声明)。

所以我的问题是,你会为新的桌面程序使用“传统 Qt”还是“Qt Quick”? 为什么?

我最初的想法:

'传统Qt':

优点:

  • 使用的整体技术更少,因此更简单,如果你使用 PySide,你只用 Python 编写代码,不必在 Qt Quick 中搞乱 CSS/JS 之类的东西;
  • 它更成熟了。

    缺点:
  • 构建精美的 UI 似乎更困难?

  • 'Qt 快速':

    优点和缺点:反过来。
    Edit : Qt Quick 有一个缺点,如果我错了,请纠正我,你不能以所见即所得的方式设计 Qt Quick UI,对吗?

    免责声明:我是 Qt、PySide 和 Python 的新手,最近才开始评估使用这些技术构建桌面程序。

    最佳答案

    一直在为我的桌面搞乱 qml,我个人发现了这个:

  • 它比传统的 qt/c++/pyqt 更容易创建动画(我喜欢动画:)
  • 我没有查看所有示例,但 qml 应用程序的代码大小看起来比 C++ 中的等效应用程序小

  • 我在 qml 中发现的问题
  • qml 设计支持很差——目前自定义元素没有出现在 qml 设计器中。这是一个很大的痛苦,因为理想情况下我应该让一个设计师来创建我的 ui 并且我专注于代码。他们的 qml 设计师还需要一些工作
  • 您应该学习 javascript,因为它是 qt 中“推荐”的脚本编写方式。 Javascript 并不像您所期望的那样容易,例如学习 python 花了我几个小时,但 javascript 看起来与 c 表面上相似,但它的一些概念不同。另外我想知道我是否可以在仅使用 javascript 和 qml 编写的应用程序中保护知识产权。(如果我错了,请纠正我)
  • native 小部件在 qml 中不可用,例如它只提供矩形等,您可以将它们组合起来形成自己的小部件。

  • 这并没有阻止我玩 qml,随着它的成熟,我将采取观望态度。目前我将 qml 用于我的部分 ui 和 c++ 作为后端。

    关于qt - 桌面程序的“传统 Qt”或 'Qt Quick'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5497820/

    相关文章:

    qt - 如何在 .pro 文件中检查选定的 Qt 版本?

    c++ - 如何将 QImage 从 C++ 发送到 Qt3D 实体到 QML 以将其用作纹理?

    python - 文本编辑始终大写

    qt - C++ 类暴露于 QML 时尚错误 TypeError : Property '...' of object is not a function

    qt - windeployqt 复制了很多不需要的文件

    c++ - 如何在 QThread 的运行函数中发出信号?

    qt - 如何找到文本光标的全局位置?

    c++ - 强制 QDialog 保持打开状态

    qt - 通过 SDL 渲染 QtQuick GUI

    qt - 错误 : QApplication: No such file or directory - Ubuntu 12. 04 LTS