QT qml ListView 分页/翻页
QT qml ListView 分页/翻页
科技ing QQ:843230304
大家好,这是个单独的qml文件 可以自己测试
import QtQuick 2.3
import QtQuick.Controls 1.2
Item{id:rootwidth:1024height:600anchors.fill: parent//每页6项property int itemCountPerPage:6property int currentPage:1//向下取整,有多少页(25项/6项每页 = 4页)property int page:contentListView.count/itemCountPerPage//实际页数(恰好整除pageCount = page, 否则pageCount比page多1页)property int pageCount: page*itemCountPerPage<contentListView.count?page+1:pageListView{id:contentListViewwidth:100height:itemCountPerPage*80anchors{centerIn: parent}snapMode: ListView.SnapToItemclip: true//interactive: falsemodel:25delegate:viewDelegate}Component{id:viewDelegateRectangle{width: 100height:80Text{anchors.fill: parenttext:modelDatafont.pixelSize: 30}}}Button{id:upBtnwidth:100height:60enabled: contentListView.visibleArea.heightRatio>0opacity: contentListView.visibleArea.heightRatio===0?0.5:1anchors{top:contentListView.topleft:contentListView.right}Text{anchors.centerIn: parenttext:"上一页"font.pixelSize: 30}onClicked: {//contentListView.decrementCurrentIndex()changePage(false)showPage()}}Text{//--页码anchors{verticalCenter: contentListView.verticalCenterleft:contentListView.right}text:qsTr("第%1页/共%2页").arg(currentPage).arg(pageCount)font.pixelSize: 30}Button{id:downBtnwidth:100height:60enabled: contentListView.visibleArea.heightRatio<1opacity: contentListView.visibleArea.heightRatio===1?0.5:1anchors{bottom: contentListView.bottomleft:contentListView.right}Text{anchors.centerIn: parenttext:"下一页"font.pixelSize: 30}onClicked: {//contentListView.incrementCurrentIndex()changePage(true)showPage()}}//--listView 翻页功能function changePage(next){var currentViewIndex = contentListView.indexAt(contentListView.contentX,contentListView.contentY)if(currentViewIndex%itemCountPerPage!==0){ //最后一页if(!next){//往前翻页contentListView.positionViewAtIndex((page-1)*itemCountPerPage,ListView.Beginning)}}else{var i = 0for(; i<pageCount;i++){if(i*itemCountPerPage<=currentViewIndex&¤tViewIndex<(i+1)*itemCountPerPage){//找到当前currentViewIndex属于第几页break}}console.log("currentViewIndex ",currentViewIndex)//前、后翻页currentViewIndex =(next?(i+1):(i-1))*itemCountPerPage//取值范围currentViewIndex = currentViewIndex<0?0:currentViewIndexcurrentViewIndex = currentViewIndex>=contentListView.count - 1?contentListView.count - 1:currentViewIndexconsole.log("nextViewIndex ",currentViewIndex)contentListView.positionViewAtIndex(currentViewIndex,ListView.Beginning)}}//--计算页码function showPage(){var currentViewIndex = contentListView.indexAt(contentListView.contentX,contentListView.contentY)if(currentViewIndex%itemCountPerPage!==0){//最后一页console.log("final")currentPage = pageCount}else{for(var i = 0; i<pageCount;i++){if(i*itemCountPerPage<=currentViewIndex&¤tViewIndex<(i+1)*itemCountPerPage){//找到当前currentViewIndex属于第几页currentPage = i + 1break}}}console.log("currentPage",currentPage)console.log("page",page)console.log("pageCount",pageCount)}}
QT qml ListView 分页/翻页相关推荐
- scrapy的分页(翻页处理)
import scrapy from bs4 import BeautifulSoupclass BookSpiderSpider(scrapy.Spider):name = 'book_spider ...
- 评论后的Ajax和刷新分页,Wordpress Ajax 评论分页/翻页 – Fatesinger
WordPress 升级到4.4版本后源代码分页函数失效.只需要给paginate_comments_links函数加上个total参数就可以了.代码已更新. 如果某篇文章评论特别多的时候,我们可以启 ...
- 关于viewpager 里嵌套 listview 同时实现翻页功能的“java.lang.IllegalStateException: The specified child...异常处理...
这几天做项目用到了ViewPager,因为它可以实现左右划动多个页面的效果,然后 再每个页面里使用ListView,运行时总是出现"PagerAdapter java.lang.Illega ...
- Android ListView 滚动翻页效果
http://blog.csdn.net/top_code/article/details/9629259
- QT qtablewidget按钮控制翻页效果
主要借鉴别人的思路 pro #------------------------------------------------
- Qt QML 菜单/目录/工具栏的全面攻略(TabBar、MenuBar、ToolBar、Button定制、Listview、Repeater)
Qt QML 菜单/目录/工具栏的全面攻略 1. TabBar的工具栏/目录 1.1 演示 1.2 关键控件 1.3 源码 2 MenuBar 菜单 2.1 演示 2.2 关键控件 2.3 源码 3 ...
- Qt基于Qml实现分页控件
演示效果 分页控件实现Qml PageNavigation.qml import QtQuick 2.12 import QtQuick.Controls 2.12Row{id: pageNaviga ...
- oracle数据库如何写翻页_ORACLE数据库分页查询/翻页 最佳实践
ORACLE数据库分页查询/翻页 最佳实践 一.示例数据: Select Count(*) From dba_objects ; ----------------------------------- ...
- 用AjaxPro实现无刷新翻页效果及数据库分页技术介绍
在看本文之前,建议查看本人的系列文章: <AjaxPro与服务器端交互过程中如何传值>:http://blog.csdn.net/zhoufoxcn/archive/2008/01/05/ ...
- springboot:实现分页查询,以及翻页功能
在pom.xml中引入依赖 <!-- 分页查询插件 --><dependency><groupId>com.github.pagehelper</groupI ...
最新文章
- 蓝桥杯:基础练习 杨辉三角形
- Oracle脚本批量导入时,输出日志文件
- 洛谷P4015 运输问题 网络流24题
- Android Studio +MAT 分析内存泄漏实战
- ZigBee网络架构详解
- Django学习之十一:真正理解Django的路由分发和反解url原理
- android 7.0 自启管理,一款不错的android6.0、7.0权限管理器推荐
- SSM中异常的几种处理方式
- linux下Led的设备驱动程序实验总结,Linux让LED灯闪起来
- 微信小程序获取用户的头像和昵称
- SAS安装后处理错误的解决方法
- AE倒影插件:vc reflect插件汉化版(支持ae2020)
- 美团点评数据平台融合实践
- MPI聚合通信之MPI_Bcast函数
- 我的三维mandelbulb制作fractal成长之路[续]
- 破晓博客-自定义标签的开发
- [AHK]通达信联动到同花顺下单
- Shell 脚本的详细解读 (三)
- 使用python爬虫爬取百度新闻,告诉你社会热点话题
- R语言 关联TCGA数据库下载的RNA-SEQ数据和临床信息
热门文章
- TwinCAT 3 马达程序
- 虚拟机客户端访问不了服务器域名,虚拟机ESXI 篇四:让你电脑打开网页不用等待---SmartDns...
- linux 安装Julia
- java制作手机投射电脑_Android手机屏幕投射到电脑神器Vysor
- gc cr block lost
- 解决VS2015社区版无法下载许可证的问题
- r语言 聚类求和_R语言聚类分析(示例代码)
- cad填充转多段线脚本
- java生成 动态 pdf_java根据模板HTML动态生成PDF
- 计算机多媒体简历,计算机多媒体简历