Подходящая техника для создания нового объекта пользователем на переднем конце в Qt
Я создаю приложение, которое использует qml
в передней части, чтобы создать новый объект onclicked
, Является ли подходящий способ сделать это, чтобы создать QOBJECT
вспомогательный класс, который будет служить исключительно для создания новых объектов моего другого класса?
Изменить: я хочу создать объект C++ из внешнего интерфейса с qml
, Я не создаю объект qml. Итак, если я нажму на мою кнопку, C++ создает новый объект. Вот почему я спрашиваю, нужно ли мне создавать специализированные QOBJECT
класс, который имеет public signal
метод исключительно для создания новых объектов моего другого класса.
Или я должен иметь только один класс, который может создавать новые объекты сам по себе с помощью указателя?
1 ответ
Наиболее эффективным решением является использование синглтона. Это позволит избежать накладных расходов при поиске фабричного объекта и не будет ассоциировать созданный объект с каким-либо конкретным состоянием, которое, как известно, подшучивает над временем жизни объекта.
Кроме того, если вы создаете объект QML из C++, вы можете избежать значительного увеличения объема использования памяти. Вы также можете иметь объект C++ в качестве одиночного:
qmlRegisterSingletonType<YourSingleton>("Module", 1, 0, "Singleton", singletonFactoryCallback);