查看完整版本: [-- QtQuick listview超出Rectangle的边界范围显示 --]

QTCN开发网 -> Qt基础编程 -> QtQuick listview超出Rectangle的边界范围显示 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

三只小鸡 2020-06-12 09:36

QtQuick listview超出Rectangle的边界范围显示

  1. ListModel{
                        id: ignoreListModel
                    }
                    Rectangle{
                        border.width: 1; border.color: "#A9A9A9"
                        Layout.minimumWidth: 150
                        Layout.minimumHeight: 100
                        ListView{
    model: ignoreListModel
        id: listWidget
        anchors.fill: parent

        ScrollBar.vertical: ScrollBar{
             policy: ScrollBar.AlwaysOn
        }
        delegate: Rectangle{
            id: rectangle
            width: listWidget.width
            height: UIDefined._ListItemHeight
            anchors.left: parent.left
            property bool hovered: false
            border.color: UIDefined._HeightLightColor
            border.width: hovered ? UIDefined._ListItemBorderWidth : 0
            color:{
                if(listWidget.currentIndex === index)
                    return UIDefined._PressedBgColor;
                else if(hovered)
                    return UIDefined._HoveredBgColor
                else
                    return UIDefined._FreeBgColor
            }
            Text {
                text: name
                verticalAlignment: Text.AlignVCenter
                horizontalAlignment: Text.AlignLeft
                anchors.fill: parent
                anchors.leftMargin: 5
                font.bold: (hovered || listWidget.currentItem == rectangle)
                color: UIDefined._UserTextColor
            }
            MouseArea{
                anchors.fill: parent; hoverEnabled: true
                onEntered: {hovered = true}
                onExited: {hovered = false}
                onClicked: {listWidget.currentIndex = index}
            }
        }
    }
                    }
如图所示,当model的item多时,会超过Rectangle显示多一个,下拉时上方也会超过显示范围,如何使得listview不超出Rectangle的范围显示呢?


lemonzll 2020-06-12 09:49
ListView加个属性clip: true就好了

三只小鸡 2020-06-12 09:53
lemonzll:ListView加个属性clip: true就好了 (2020-06-12 09:49) 

可以了,谢谢

三只小鸡 2020-06-12 10:40
lemonzll:ListView加个属性clip: true就好了 (2020-06-12 09:49) 

你好,我加了clip后鼠标滚动无效了,是会这样子的吗?

三只小鸡 2020-06-12 11:20
三只小鸡:你好,我加了clip后鼠标滚动无效了,是会这样子的吗? (2020-06-12 10:40) 

这个qml有毒啊,我都没有改动,只改了其它东西,编译了几次它,突然就好用了,界面不超了,鼠标也可以滚动了,真奇怪,只是不知道原因,说不定以后又会发生

青空飞羽 2020-06-12 14:08
qml工程qml文件每次有改动后最好清理工程后重新构建,不然有时改动会不生效

三只小鸡 2020-06-12 17:05
青空飞羽:qml工程qml文件每次有改动后最好清理工程后重新构建,不然有时改动会不生效 (2020-06-12 14:08) 

嗯,谢谢回复,我也发现确实是这样,一般改了qml不用清理的,但有些时候确实改了直接运行不生效,清理工程就好了


查看完整版本: [-- QtQuick listview超出Rectangle的边界范围显示 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled