Можно ли использовать QT / LIBUI в стиле React.JS? - PullRequest
0 голосов
/ 03 ноября 2019

Одним из преимуществ React.JS является то, что вы не заботитесь о переходе одного пользовательского интерфейса в другой, об этом позаботится волшебный алгоритм React DIFF.

Вы определяете, какой пользовательский интерфейс вы хотите (односторонний model -> UI поток), и магический алгоритм React DIFF заботится о преобразовании текущего пользовательского интерфейса в желаемый. С другими библиотеками пользовательского интерфейса обычно вам нужно обрабатывать это вручную и писать много скучного кода, как преобразовать текущий пользовательский интерфейс в новый пользовательский интерфейс в ответ на какое-либо событие или изменение.

Возможно ли использовать QT5 / LIBUIподобным образом? Я думаю, мы можем назвать это реактивным стилем пользовательского интерфейса, может быть, не совсем как React.JS, но как Vue.JS или svelte.js, Elm и т. д.

1 Ответ

1 голос
/ 04 ноября 2019

Простой ответ - да. Но что касается Qt5, он гораздо более надежный и хорошо структурированный. Это не очень хорошее решение, чтобы сравнить эти две технологии. Я энтузиаст Qt, поэтому я могу дать вам необъективное мнение.

Вот некоторые пояснения по поводу Связывания свойств Qt .

Цитата с этой страницы:

Привязка свойства

Свойству объекта может быть присвоено статическое значение, которое остается постоянным до тех пор, пока ему явно не будет присвоено новое значение. Однако для наиболее полного использования QML и его встроенной поддержки динамического поведения объектов большинство объектов QML используют привязки свойств.

Привязки свойств являются основной функцией QML, которая позволяет разработчикам определять отношения между различными свойствами объекта. ,Когда значения свойства меняются в значении, свойство автоматически обновляется в соответствии с указанным отношением.

За кадром механизм QML отслеживает зависимости свойства (то есть переменные в выражении привязки). При обнаружении изменения механизм QML повторно оценивает выражение привязки и применяет новый результат к свойству.

...