QML ListView:“复杂”委托导致崩溃

时间:2014-01-14 09:43:13

标签: qt qml

我的应用程序遇到问题我在网上搜索了类似的东西(甚至远程),并发现:Remove rows from QAbstractListModel (答案中提供的代码) - 效果很好!但是,当我将ListView委托更改为更“复杂”的内容时,就像这样:

Component {
        id: commonDelegate
        Rectangle {
            width: view.width
            implicitHeight: editor.implicitHeight + 10
            color: "transparent"
            border.color: "red"
            border.width: 2
            radius: 5
            TextInput {
                id: editor
                anchors.margins: 1.5 * parent.border.width
                anchors.left: parent.left
                text: edit.name // "edit" role of the model, to break the binding loop
                onTextChanged: {
                    display.name = text;
                    model.display = display
                }
            }

            ComboBox {
                id: siema
                anchors.left: editor.right
                model: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "+"]
            }

            Button {
                id: bt
                text: "Guizk"
                anchors.left: siema.right
                anchors.right: parent.right
            }

        }
    }

然后应用程序在添加一些行后崩溃(应该填满整个屏幕,以便其中一些不可见)并尝试滚动到那些不可见的行。使用调试器运行时,报告的错误为EXC_BAD_ACCESS,并且在创建器中显示了功能QCoreApplication :: proccessEvents的反汇编。

代表的“复杂程度”是否有限制?或者是否有更好(更有效)的方式,以便它不会崩溃?

崩溃发生在Windows 7 64位,OsX 10.8.5和Android 4.1

如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

我遇到同样的问题,通过我发现的反复试验,Combobox对崩溃负责。

如果没有它就可以活下去,尽量不要使用它。