C++ BlackBerry10: Должны ли все пользовательские классы расширяться от QObject?
Я хочу сделать свое первое приложение BB10. Мои вопросы: должны ли все объекты расширяться от QObject, а также настраиваемые классы, которые используются только контроллером, а не внутри файла QML?
1 ответ
Конструктор класса QObject получает указатель на родительский объект QObject. Когда у этого родительского QObject будет вызван деструктор, его дочерние элементы также будут уничтожены. Тот факт, что Qt сохраняет это дерево объектов для вас, значительно упрощает управление памятью пользовательского интерфейса. Когда окно закрывается, все виджеты в этом дереве автоматически очищаются. Это было огромной помощью для меня, когда я впервые начал работать с Qt.
Как общее практическое правило, я наследую от QObject (или производной от QObject) для любого компонента пользовательского интерфейса или компонента, который будет использоваться непосредственно из пользовательского интерфейса в QML.