私は Sailfish OS で TV ガイドを作成していますが、今のところ障害に直面しています。カスタマイズされたリストの各エントリをマークできるようにしたいので、背後にあるモデルを変更する必要があります。モデルを直接変更しようとしまし
model.favorite = true
たが、うまくいきません。基になる を変更しようとし
arrayOfObjects
ましたが、UI に反映されず、ListView にアクセスできないため、更新をトリガーできません。カスタマイズしたモデルを作成しようとしましたが、そのインスタンスを参照できないため、役に立ちませんでした。
以下は、ほとんど基本的な QML を使用したレイアウトの非常に単純化された表現です。
Page {
Flickable {
Column {
SlideshowView { // PathView
model: arrayOfObjects
delegate: channelDelegate
}
}
}
Component {
id: channelDelegate
ListView {
id: channelList
// ProgramModel just iterates thru arrayOfObjects and appends them
model: ProgramModel {
programs: arrayOfObjects
}
delegate: programDelegate
Component.onCompleted: {
// I can't reference channelList from here.
}
}
}
Component {
id: programDelegate
ListItem {
Button {
onClicked: {
// How do I reference channelList?
// Doing it by name doesn't work.
}
}
}
}
}
ApplicationWindow (これは機能します) を呼び出して、channelList.onCompleted (これも機能します) に接続するシグナルを送信しようとしましたが、そこからリストを参照できないため、役に立ちません。
QT 5.6 を使用しているため、一部のソリューションが機能しない場合があります。そして、私はそれを純粋な QML のままにしておくことを本当に望んでいます。C++ なし。