Qml分页显示

作者: zhengtianzuo | 来源:发表于2018-11-29 20:36 被阅读0次
Row{
    id: pageNavigation
    property int nCout: 1
    property int nCurPage: 1
    property int nPageSize: 1

    signal sCurPage(int curPage);

    Rectangle{
        id: prevPage
        height: 24
        width: 60
        color: "#EEEEEE"
        border.color: "#AAAAAA"
        border.width: 1
        Row{
            anchors.centerIn: parent
            Image{
                height: 16
                width: 16
                anchors.verticalCenter: parent.verticalCenter
                source: "qrc:/arrow.png"
                rotation: -180
            }
            Text {
                font.family: "microsoft yahei"
                font.pixelSize: 12
                anchors.verticalCenter: parent.verticalCenter
                text: qsTr("上一页")
            }
        }
        MouseArea{
            anchors.fill: parent
            onClicked: {
                if (pageNavigation.nCurPage > 1) pageNavigation.nCurPage--;
            }
        }
    }

    Repeater{
        id: repeater
        model: pageNavigation.nPageSize
        delegate: Rectangle{
            property int nCurIndex: (pageNavigation.nCurPage-1)*pageNavigation.nPageSize + index + 1
            property bool hasPage: nCurIndex <= pageNavigation.nCout

            height: 24
            width: 24
            color: hasPage ? "#EEEEEE" : "transparent"
            border.color: "#AAAAAA"
            border.width: hasPage ? 1 : 0
            Text {
                font.family: "microsoft yahei"
                font.pixelSize: 12
                anchors.centerIn: parent
                text: nCurIndex
                visible: hasPage ? true : false
            }
            MouseArea{
                anchors.fill: parent
                hoverEnabled: hasPage
                onEntered: {
                    parent.color = "#148014"
                }
                onExited: {
                    parent.color = "#EEEEEE"
                }
                onPressed: {
                    emit: sCurPage(nCurIndex);
                }
            }
        }
    }

    Rectangle{
        id: nextPage
        height: 24
        width: 60
        color: "#EEEEEE"
        border.color: "#AAAAAA"
        border.width: 1
        Row{
            anchors.centerIn: parent
            Text {
                font.family: "microsoft yahei"
                font.pixelSize: 12
                anchors.verticalCenter: parent.verticalCenter
                text: qsTr("下一页")
            }
            Image{
                height: 16
                width: 16
                anchors.verticalCenter: parent.verticalCenter
                source: "qrc:/arrow.png"
            }
        }
        MouseArea{
            anchors.fill: parent
            onClicked: {
                if (pageNavigation.nCurPage*pageNavigation.nPageSize <= pageNavigation.nCout) pageNavigation.nCurPage++;
            }
        }
    }
}
show.gif

需要完整代码请访问QtQuickExamples

相关文章

  • Qml分页显示

    需要完整代码请访问QtQuickExamples

  • QmlLoader

    qml中可以使用Loader来加载并显示qml文件 调用 就可以加载对应的qml文件并显示了 需要完整代码请访问Q...

  • QSortFilterProxyModel + Qml Lisv

    在前端开发中,我们经常要实现分页内容,这里介绍如何通过QSortFilterProxyModel + Qml Li...

  • QWidget 调用 QML 插件中的对象

    目标 为实现从QML字符串中创建QML对象,并显示在基于QWidget项目工程中,且这个QML对象所属类型来自QM...

  • 网页版QML

    在网页上边写QML代码边显示效果。(文末项目地址)   该项目旨在将QML的功能引入到Web浏览器。以下是QML外...

  • mysql——分页技术实现(基于layui框架)

    一.分页技术概述 分页技术: JSP页面,用来显示数据! 如果数据有多条,分页显示,每页显示10条,多页; 好...

  • 无限轮播器

    调用 分页显示

  • 分页显示

    说明: 分页  Django 提供了一些类实现管理数据分页,这些类位于 django/core/pagina...

  • 分页显示

    今天继续调试代码,主要是按照业务的要求,将从数据库中,查询回来的电子回单数据分页显示出来,方便客户查看下载。 因为...

  • 分页显示

    分页: 加载jsp时就显示,因此利用ajax直接写,利用ajax带过去的数据为,第几页,每页显示几条信息两个参数,...

网友评论

    本文标题:Qml分页显示

    本文链接:https://www.haomeiwen.com/subject/vdlqcqtx.html