Russian Qt Forum

Qt => Qt Quick => Тема начата: AkonResumed от Апрель 10, 2021, 08:11



Название: QML: избыточное создание невидимых объектов в угоду простоте
Отправлено: AkonResumed от Апрель 10, 2021, 08:11
Изучаю QML. Похоже, здесь используется парадигма заблаговременного создания невидимых объектов на все случаи возможного использования. Например, в "Qt-v5.12.3-src\qtquickcontrols\src\dialogs\DefaultMessageDialog.qml" используется такой код:
Код:
...
                Button {
                    id: openButton
                    text: qsTr("Open")
                    onClicked: root.click(StandardButton.Open)
                    visible: root.standardButtons & StandardButton.Open
                }
                Button {
                    id: saveButton
                    text: qsTr("Save")
                    onClicked: root.click(StandardButton.Save)
                    visible: root.standardButtons & StandardButton.Save
                }
...
Т.е. создается  ~20 кнопок, но видимыми становятся только несколько. Конечно, QML-контролы не задействуют много ресурсов (нет системных хэндлов, например), но все же память, да и сам принцип - зачем создавать то, что не используется. Это не в духе С/С++. Это мне напоминает "формоклепание". Что думаете?


Название: Re: QML: избыточное создание невидимых объектов в угоду простоте
Отправлено: ecspertiza от Апрель 10, 2021, 19:57
Qml и есть формоклепание :-)