• 5102阅读
  • 2回复

[讨论]在C++中增加QML的Listmodel元素 [复制链接]

上一主题 下一主题
离线allmybeyond
 
只看楼主 倒序阅读 楼主  发表于: 2012-09-04
我在QML中建了个音乐列表,想通过C++遍历文件获取信息后加到音乐列表中,折腾几天了还是没有用,大侠帮个忙吧,
做一个增加的测试代码,在C++中有:
   QDeclarativeEngine engine;    QDeclarativeComponent component(&engine,"MusicFun.qml");    QObject *object =component.create();    QVariant returnedValue;    QVariant msg="这是一个传说";    QMetaObject::invokeMethod(object,"addMusicListModel",Q_RETURN_ARG(QVariant,returnedValue),                              Q_ARG(QVariant, msg));    delete object;在QML中有函数定义:
  function addMusicListModel(msg)    {        musicListModel.append( { musicName: "这是一个传说"+msg } )    }
离线angelus

只看该作者 1楼 发表于: 2012-11-14
在C++中维护一个列表就行了,C++读取文件夹的数据,然后发送信号带参数到QML中更新就行了!
离线angelus

只看该作者 2楼 发表于: 2012-11-14
具体的就是建立一个音乐类,里边有包括一首歌的各种参数,然后通过一个中心处理类去读取文件夹中的音乐,然后赋值给音乐类指针,在把这个音乐类指针加入到list<QObject*> ,然后发送一个自定义的信号,信号中包括这个 list<QObject*>,在qml中接受这个信号,把list<QObject*>循环取出数据,用append加入到Model里边就可以了!
快速回复
限100 字节
 
上一个 下一个