Подходящая техника для создания нового объекта пользователем на переднем конце в Qt

Я создаю приложение, которое использует qml в передней части, чтобы создать новый объект onclicked, Является ли подходящий способ сделать это, чтобы создать QOBJECT вспомогательный класс, который будет служить исключительно для создания новых объектов моего другого класса?

Изменить: я хочу создать объект C++ из внешнего интерфейса с qml, Я не создаю объект qml. Итак, если я нажму на мою кнопку, C++ создает новый объект. Вот почему я спрашиваю, нужно ли мне создавать специализированные QOBJECT класс, который имеет public signal метод исключительно для создания новых объектов моего другого класса.

Или я должен иметь только один класс, который может создавать новые объекты сам по себе с помощью указателя?

1 ответ

Решение

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

Кроме того, если вы создаете объект QML из C++, вы можете избежать значительного увеличения объема использования памяти. Вы также можете иметь объект C++ в качестве одиночного:

qmlRegisterSingletonType<YourSingleton>("Module", 1, 0, "Singleton", singletonFactoryCallback);
Другие вопросы по тегам