Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 可以在React.JS样式中使用QT/LIBUI吗?_Reactjs_Qt_User Interface_Qt5 - Fatal编程技术网

Reactjs 可以在React.JS样式中使用QT/LIBUI吗?

Reactjs 可以在React.JS样式中使用QT/LIBUI吗?,reactjs,qt,user-interface,qt5,Reactjs,Qt,User Interface,Qt5,JS的一个优点是,您不需要将一个UI转换为另一个UI,神奇的React-DIFF算法可以解决这一问题 您可以定义您想要的UI(单向模型->UI流),神奇的React DIFF算法负责将当前UI转换为所需的UI。对于其他UI库,您通常需要手动处理这些问题,并编写大量枯燥的代码,如何将当前UI转换为新UI以响应某些事件或更改 有没有可能以类似的方式使用QT5/LIBUI?我想我们可以称之为反应式UI风格,可能与React.JS不完全一样,但与Vue.JS或svelte.JS、Elm等类似。简单的答案

JS的一个优点是,您不需要将一个UI转换为另一个UI,神奇的React-DIFF算法可以解决这一问题

您可以定义您想要的UI(单向
模型->UI
流),神奇的React DIFF算法负责将当前UI转换为所需的UI。对于其他UI库,您通常需要手动处理这些问题,并编写大量枯燥的代码,如何将当前UI转换为新UI以响应某些事件或更改


有没有可能以类似的方式使用QT5/LIBUI?我想我们可以称之为反应式UI风格,可能与React.JS不完全一样,但与Vue.JS或svelte.JS、Elm等类似。

简单的答案是肯定的。但就Qt5而言,它更加健壮且结构良好。比较这两种技术不是一个好的决定。我是Qt爱好者,所以我可能会给你一些有偏见的意见

这里有一些关于的解释

引自该页:

属性绑定

可以为对象的特性指定静态值 它将保持不变,直到显式地为其指定一个新值。 但是,为了充分利用QML及其对 动态对象行为,大多数QML对象使用属性绑定

属性绑定是QML的核心功能,它允许开发人员 指定不同对象特性之间的关系。当 属性的依赖项的值发生变化时,该属性将自动 根据指定的关系进行更新

在幕后,QML引擎监视属性的依赖关系 (即绑定表达式中的变量)。当需要改变时 检测到,QML引擎将重新计算绑定表达式并 将新结果应用于属性


您的问题还不清楚,但若您谈论的是数据绑定,那个么QML又称Qt Quick模块做得非常好。嗯,你不能比较这两种技术。但是,当我使用React、Angular和Qt创建UI时,我总是喜欢使用Qt进行任何操作,如果可能的话,任何地方都可以。@SoheilArmin它比数据绑定大。如果我更新模型,比如说
model.isEditFieldVisible=true
在使用或依赖变量
isEditFieldVisible
的所有位置,UI都应该自动更新。好的。您所描述的是Qt非常好地支持的数据绑定。我们是在讨论C++还是QML UI?(什么是“LIBUI?”)除了已经描述的QML属性绑定之外,还有一个“状态机”框架,可以在UI状态之间转换。有一个和一个。有趣的是,还有另外一个。。。这是一场运动吗?:)@不,嗯,我来自Web开发,对QT(什么是QML)不太了解。我正在寻找以类似React.JS的方式使用QT或其他UI库的任何方法。