[英]Cannot assign to non-existent property in QML
这是我的PageThree.qml文件
import QtQuick 2.0
import QtMultimedia 5.9
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.3
import QtQuick.Controls.Styles 1.4
Rectangle {
property alias songModel: song_list_view.model;
property alias playlistSongs: music_player.playlist
Audio {
id: music_player;
autoPlay: false;
}
}
当我尝试像这样在我的core.qml文件中使用PageThree.qml文件时
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.4
import QtQuick.Layouts 1.11
import QtMultimedia 5.9
import QtQuick.Controls.Styles 1.4
import "qrc:/stack_pages/"
import "qrc:/images/"
Window {
PageThree {
songModel: manager.getSongListByAlbumName(globalName)
playlistSongs.addItems:
manager.getSongUrl(globalName)
}
}
我收到以下错误消息, Cannot assign to non-existent property "addItems"
。 尽管我可以设置PageThree songModel,但是我无法通过添加项将值分配给播放列表。 方法manager.getSongUrl(globalName)返回QList<Qurl>
,我需要将其分配到播放列表,即使我可以访问它也无法通过添加项设置播放列表项,如何解决此错误? PageThree的播放列表属性?
这是因为addItems
不是属性而是方法, 请参见Docs。
您可以在完成时分配:
PageThree {
Component.onCompleted: addItems(manager.getSongUrl(globalName))
}
或者,也许您有一个信号告诉列表已更改,并根据该信号进行分配。
专家提示:如果您摆弄一点,也可以将经理列表直接分配给播放列表本身,但是我不确定所涉及的所有类型
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.