QML-TableViewColumn快速控件1警报“ -2的模型大小小于0”

时间:2019-02-22 02:13:47

标签: qt qml qtquick2

我正在研究qt快速控制,但是QtQuick.Controls 1.4中的TableViewColumn出现问题。我想创建一个具有2个选项卡的TabView,如下图所示 enter image description here

首先,我用此代码创建了一个TabBar

    TabBar {
    id: tabBarScriptLinker
    anchors.top: tbvDevices.bottom
    anchors.topMargin: 10
    anchors.left: tbvDevices.left
    anchors.right: tbvDevices.right
    position: TabBar.Header

    TabButton{
        height: parent.height
        background: Rectangle{
            color: tabBarScriptLinker.currentIndex == 0 ? qsTr("#5661f7") : qsTr("#ddd9f9")
        }

        contentItem: Text{
            text: "Scence"
            font.pixelSize: 12
            font.bold: true
            color: tabBarScriptLinker.currentIndex == 0 ? qsTr("white") : qsTr("black")
            horizontalAlignment: Text.AlignHCenter
            verticalAlignment: Text.AlignVCenter
        }
    }
    TabButton{
        height: parent.height
        background: Rectangle{
            color: tabBarScriptLinker.currentIndex == 1 ? qsTr("#5661f7") : qsTr("#ddd9f9")
        }
        contentItem: Text{
            text: "Linker"
            font.pixelSize: 12
            font.bold: true
            color: tabBarScriptLinker.currentIndex == 1 ? qsTr("white") : qsTr("black")
            horizontalAlignment: Text.AlignHCenter
            verticalAlignment: Text.AlignVCenter
        }
    }
}

此后,我继续创建一个StackLayout,然后在TabBar下面跟随一个表格视图

StackLayout{
    anchors.top: tabBarScriptLinker.bottom
    anchors.left: tabBarScriptLinker.left
    anchors.right: tabBarScriptLinker.right
    anchors.bottom: rLayoutScLiControl.top
    anchors.bottomMargin: 10
    currentIndex: tabBarScriptLinker.currentIndex
    Item {
        id: sceneTab
        Layout.fillWidth: parent.width
        Layout.fillHeight: parent.height
        QtC1.TableView{
            id: tbvScences
            anchors.fill: parent
            ListModel{
                id: lstScences
                ListElement{
                    num: 1
                    name: qsTr("on all")
                }
                ListElement{
                    num: 1
                    name: qsTr("off all")
                }
            }

            /* Create columns */
            QtC1.TableViewColumn{
                id: tbvScences_num
                horizontalAlignment: Text.AlignHCenter
                role: qsTr("num")
                title: qsTr("Num")
                width: 40
            }
            QtC1.TableViewColumn{
                id: tbvScences_Name
                horizontalAlignment: Text.AlignHCenter
                role: qsTr("name")
                title: qsTr("Name")
                width: 60
            }
            model: lstScences
        }
    }
    Item {
        id: linkerTab
        Layout.fillWidth: parent.width
        Layout.fillHeight: parent.height
        QtC1.TableView{
            id: tbvLinkers
            anchors.fill: parent
            ListModel{
                id: lstLinkers
                ListElement{
                    label: qsTr("Tang 4518")
                    MAC: qsTr("65-46-AF-4C-6B-91")
                }
                ListElement{
                    label: qsTr("Tang 56")
                    MAC: qsTr("25-02-AF-C8-6B-21")
                }
            }

            /* Create columns */
            QtC1.TableViewColumn{
                id: tbvLinkers_Label
                horizontalAlignment: Text.AlignLeft
                role: qsTr("label")
                title: qsTr("Label")
                width: 100
            }
            QtC1.TableViewColumn{
                id: tbvLinkers_MAC
                horizontalAlignment: Text.AlignLeft
                role: qsTr("MAC")
                title: qsTr("MAC")
                width: 120
            }
            model: lstLinkers
        }
    }
}

按我的预期工作正常,但出现了一些奇怪的日志

“应用程序输出”选项卡中的“ -2的模型大小小于0” 当我点击“链接器”标签时, 在“应用程序退出”选项卡中,“-3的模型大小小于0”

我认为我的申请有问题,有人可以给我原因吗?这个问题值得考虑吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我试图通过一个简单的示例来重现该行为,并且当窗口的大小小于tableView的大小时,似乎会发生这种情况

编辑:可能是这样的:https://bugreports.qt.io/browse/QTBUG-72543