reactjs - 是否可以在 React.JS 样式中使用 QT/LIBUI?
问题描述
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、Elm 等。
解决方案
简单的答案是肯定的。但就 Qt5 而言,它更加健壮且结构良好。比较这两种技术并不是一个好的决定。我是 Qt 爱好者,所以我可能会给你有偏见的意见。
这是关于Qt Property Binding的一些解释。
从该页面引用:
属性绑定
可以为对象的属性分配一个静态值,该值保持不变,直到显式分配一个新值。然而,为了充分利用 QML 及其对动态对象行为的内置支持,大多数 QML 对象都使用属性绑定。
属性绑定是 QML 的核心功能,它允许开发人员指定不同对象属性之间的关系。当一个属性的依赖值发生变化时,该属性会根据指定的关系自动更新。
在幕后,QML 引擎监控属性的依赖关系(即绑定表达式中的变量)。当检测到更改时,QML 引擎重新评估绑定表达式并将新结果应用于属性。
推荐阅读
- python - 如何让python docx只写斜体
- javascript - 我正在编码重力,但它的口吃
- linux - 在编译 g++ 时将 $(pgk-config ....) 的使用替换为 txt 文件
- javascript - 在 Javascript 中,为什么我们在使用 promise.all 时使用 async await?
- python - 如何在 Python 中以更短的时间更高效地生成数独
- postman - 邮递员断言
- ruby - Ruby 已经知道斐波那契数列了吗?
- python - 如何抓取返回空表的网站?
- r - Fit loglinear model using lme4
- tags - Move price tag from left to right