2013-10-25 5 views

ответ

9

Согласно Qt 5.0 variant documentation:

Тип вариант представляет собой обобщенный тип недвижимости. Он устарел и существует только для поддержки старых приложений; новые приложения должны использовать вместо этого свойства типа var.

Да, это то же самое, но вы всегда должны придерживаться var (если у вас нет более ранней версии, которая пока не поддерживает).

+0

Спасибо; Я исправлю, что использование «var» - единственный способ сделать свойства массива? – johnbakers

+0

По крайней мере, единственный способ, которым я знаю –

+1

Это действительно документация; Я просто удивлен тем, что QtCreator (начиная с версии 3.6.1) никоим образом не предупреждает пользователя о том, что 'variant' устарел. –

3

Это не совсем новый ответ, но содержит дополнительную информацию об ответе, представленном Мейер @ Тима на основе собственного опыта:

  1. С Qt 4. * или QtQuick 1. *, property variant имеет для использования в противном случае будут произведены ошибки разбора QML.
  2. С Qt 5 или QtQuick 2. * можно использовать либо property variant, либо property var. Но последний рекомендуется, так как первый из них устарел.
  3. Qt 4 property variant или Qt 5 property var могут использоваться для определения массива QML или объявления/определения списка. Но если тип и неизменяемый контент myArray известны заранее, property list<Type> также может быть использован. Например:

    < списка свойств Item> туАггау: [Item {}, {} Пункт]

Смежные вопросы