KDE+qml+TableView, Fehler: Binding loop detected...

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
detix
Beiträge: 1743
Registriert: 07.02.2007 18:51:28
Wohnort: MK

KDE+qml+TableView, Fehler: Binding loop detected...

Beitrag von detix » 24.09.2019 12:28:12

Die komplette Fehlermeldung lautet so:

Code: Alles auswählen

qml table.qml
file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Controls/Private/BasicTableView.qml:615:17: QML Item: Binding loop detected for property "width"
ein kleines und hoffentlich nachvollziehbares Beispielskript (table.qml):

Code: Alles auswählen

import QtQuick 2.11
import QtQuick.Controls 1.5

Rectangle {
    id: hauptFenster
    width: 650; height: 350

    TableView {
        id: tableview
        anchors.fill: parent
        TableViewColumn { role: "title"; title: "Title" }
        TableViewColumn { role: "author"; title: "Author" }
        TableViewColumn { role: "name"; title: "Name" }
        onClicked: tableview.selection.forEach( function(rowIndex) {
            console.log(meinModel.get(rowIndex).title,
                        meinModel.get(rowIndex).author,
                        meinModel.get(rowIndex).name)} )
        model: meinModel
    }

    ListModel {
        id: meinModel
        ListElement { title: "Title0"; author: "Author0"; name: "Name0" }
        ListElement { title: "Title1"; author: "Author1"; name: "Name1" }
        ListElement { title: "Title2"; author: "Author2"; name: "Name2" }
        ListElement { title: "Title3"; author: "Author3"; name: "Name3" }
        ListElement { title: "Title4"; author: "Author4"; name: "Name4" }
        ListElement { title: "Title5"; author: "Author5"; name: "Name5" }
        ListElement { title: "Title6"; author: "Author6"; name: "Name6" }
        ListElement { title: "Title7"; author: "Author7"; name: "Name7" }
        //ListElement { title: "Title8"; author: "Author8"; name: "Name8" }
    }
}
Die Fehlermeldung ändert sich von stable bis experimental nicht, aber auch nur in experimental gibt es eine andere Version der BasicTableView.qml, funktioniert auch nicht.
Der letzte Eintrag im ListModel ist auskommentiert, wird der dazugenommen ist der Fehler verschwunden.

Damit gehe ich davon aus, das der Fehler in BasicTableView.qml zu finden ist, weniger als 9 Einträge als ListElement geht nicht, darüber hinaus gibt es keine Probleme!
Kennt sich jemand soweit mit qml aus, um den Fehler in BasicTableView.qml (ab Zeile 615) finden und ändern kann, ...sofern meine Einschätzung richtig ist?
Das NetzDerNetze gibt nicht allzuviel her...
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Antworten