Russian Qt Forum
Ноябрь 22, 2024, 13:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Создание ListModel из С++ кода с attributes  (Прочитано 2556 раз)
jasf
Гость
« : Июль 14, 2011, 12:54 »

Здравствуйте. Интересует следующее..
Модель для списка ListView можно создать так:
Код:
ListModel {
     id: myModel

     ListElement {
         name: "Item 1"
         textColor: "red"
     }
     ListElement {
         name: "Item 2"
         textColor: "green"
     }
     ListElement {
         name: "Item 3"
         textColor: "blue"
     }
     ListElement {
         name: "Item 4"
         textColor: "yellow"
     }
 }
Можно вот так:
Код:
class DataObject : public QObject
{
public:
    Q_OBJECT
    Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
    Q_PROPERTY(QString textColor READ textColor WRITE setTextColor NOTIFY textColorChanged)

public:
    DataObject(QString name, QString textColor);
    DataObject(QObject* parent=0);
    ~DataObject();
...
};

void someFunct()
{
    QList<QObject*> dataList;
    dataList.append(new DataObject("Item 1", "red"));
    dataList.append(new DataObject("Item 2", "green"));
    dataList.append(new DataObject("Item 3", "blue"));
    dataList.append(new DataObject("Item 4", "yellow"));


    QDeclarativeContext *ctxt = g_viewer->rootContext();
    ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
}

А хочется создать "копию" следующего кода, только в C++ варианте:
Код:
ListModel {
     id: fruitModel

     ListElement {
         name: "Apple"
         cost: 2.45
         attributes: [
             ListElement { description: "Core" },
             ListElement { description: "Deciduous" }
         ]
     }
     ListElement {
         name: "Orange"
         cost: 3.25
         attributes: [
             ListElement { description: "Citrus" }
         ]
     }
     ListElement {
         name: "Banana"
         cost: 1.95
         attributes: [
             ListElement { description: "Tropical" },
             ListElement { description: "Seedless" }
         ]
     }
 }

Именно, что бы можно было в DataObject указывать attributes. Подскажите пожалуйста, заранее спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.099 секунд. Запросов: 20.