首页| 论坛| 消息

标题:在C++中增加QML的Listmodel元素
作者:allmybeyond
日期:2012-09-04 09:52
内容:

我在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 } )}


#1 [angelus 11-14 11:17]
在C++中维护一个列表就行了,C++读取文件夹的数据,然后发送信号带参数到QML中更新就行了!
#2 [angelus 11-14 11:21]
具体的就是建立一个音乐类,里边有包括一首歌的各种参数,然后通过一个中心处理类去读取文件夹中的音乐,然后赋值给音乐类指针,在把这个音乐类指针加入到list ,然后发送一个自定义的信号,信号中包括这个 list,在qml中接受这个信号,把list循环取出数据,用append加入到Model里边就可以了!

回复 发表
主题 版块