【发布时间】:2019-11-03 16:58:02
【问题描述】:
React.JS 的一个优点是您不必关心将一个 UI 变为另一个 UI,神奇的 React DIFF 算法可以解决这个问题。
您定义您想要的 UI(一种方式 model -> UI 流),神奇的 React DIFF 算法负责将当前 UI 转换为所需的 UI。对于其他 UI 库,您通常需要手动处理这些问题并编写大量枯燥的代码,如何将当前 UI 转换为新 UI 以响应某些事件或更改。
是否可以以类似的方式使用 QT5/LIBUI? 我想我们可以称之为反应式 UI 风格,可能不完全像 React.JS 而是像 Vue.JS 或 svelte.js,榆树等
【问题讨论】:
-
你的问题不清楚,但如果你在谈论数据绑定,QML aka Qt Quick 模块做得很好。恕我直言,您无法比较这两种技术。但是当我使用 React、Angular 和 Qt 来创建 UI 时,如果可能的话,我总是更喜欢 Qt 来做任何事情。
-
@SoheilArmin 它比数据绑定大。如果我更新模型,假设
model.isEditFieldVisible = trueUI 应该在所有使用或依赖变量isEditFieldVisible的地方自动更新。 -
好的。您所描述的是 exactly 数据绑定,Qt 很好地支持它。
-
我们谈论的是 C++ 还是 QML UI? (什么是“LIBUI?”)除了已经描述的 QML 属性绑定之外,还有一个可以在 UI 状态之间转换的“状态机”框架。有C++ version 和QML side。有趣的是,还有另一个 React JS question... 这是一个运动吗? :)
-
@MaximPaperno 嗯,我来自 Web Dev,对 QT(什么是 QML)不太了解。我正在寻找以类似于 React.JS 的方式使用 QT 或其他 UI 库的任何方式。
标签: reactjs qt user-interface qt5