Перечисление с QList и указателями


В настоящее время я пытаюсь преобразовать мой QList<QString*> в версию enum, чтобы это было быстрее.

Я хотел бы сделать следующее, QList<EnumType*>. Мне интересно, есть ли какая-то причина, по которой я не должен этого делать. Я действительно мог бы извлечь выгоду из указателя в QList для моего следующего шага, который должен преобразовать его в QQmlListProperty<EnumType>, который принимает QList<EnumType*>.
1 2

1 ответ:

Нет смысла управлять значениями enum или QStrings с помощью указателя. Просто используйте QStringList (то есть QList<QString>) или QList<SomeEnum>. QQmlListProperty предназначен для управления QObjects, как говорится в документации :

Примечание: свойство QQmlListProperty может использоваться только для списков указателей объектов, производных от QObject.

Ни QStrings, ни enums не являются. То, что наилучшим решением будет предоставить список QML, зависит от вашего варианта использования.