python实现分页效果


Posted in Python onOctober 25, 2017

本文实例为大家分享了python实现分页效果展示的具体代码,供大家参考,具体内容如下

难点:清空Layout

#!/usr/bin/python  
#-*-coding:utf-8-*- 
 
from PyQt4.QtCore import * 
from PyQt4.QtGui import * 
 
class PageWidget(QWidget): 
  def __init__(self,parent=None): 
    super(PageWidget,self).__init__(parent) 
    self.btns=[] 
    self.count=0 
    self.presign=0      #当前点击标识 
    self.nextsign=0     #当前点击标识 
    self.pre_button=QPushButton() 
    self.pre_button.setText("<<") 
    self.pre_button.setFixedSize(25,25) 
    self.connect(self.pre_button,SIGNAL("clicked()"),self,SLOT("prepage()")) 
    self.next_button=QPushButton() 
    self.next_button.setText(">>") 
    self.connect(self.next_button,SIGNAL("clicked()"),self,SLOT("nextpage()")) 
    self.next_button.setFixedSize(25,25) 
    self.center_layout=QHBoxLayout() 
    self.nextpage() 
 
    self.page_layput=QHBoxLayout() 
    self.page_layput.addWidget(self.pre_button) 
    self.page_layput.addLayout(self.center_layout) 
    self.page_layput.addWidget(self.next_button) 
    self.setLayout(self.page_layput) 
 
  @pyqtSlot() 
  def prepage(self): 
    self.presign=1 
    self.num=0 
    if (len(self.btns)>0) and (self.count>=10): 
      for p in range(10): 
        self.center_layout.removeWidget(self.btns[p]) 
        self.btns[p].deleteLater() 
      self.btns=[] 
    if self.count>=10: 
      if self.nextsign==1: 
        self.count=self.count-20 
        self.nextsign=0 
      else: 
        self.count=self.count-10 
      self.num=self.count 
 
      for i in range(10): 
        self.num+=1 
        self.center_button=QPushButton() 
        self.center_button.setText(str(self.num)) 
        self.center_button.setFixedSize(25,25) 
        self.btns.append(self.center_button) 
        self.center_layout.addWidget(self.center_button) 
      #print self.count 
  @pyqtSlot() 
  def nextpage(self): 
    self.nextsign=1 
    if len(self.btns)>0: 
      for p in range(10): 
        self.center_layout.removeWidget(self.btns[p]) 
        self.btns[p].deleteLater() 
      self.btns=[] 
    if self.presign==1: 
      self.count=self.count+10 
      self.presign=0 
    #mapper转有参数 
    signal_mapper = QSignalMapper(self) 
    for i in range(10): 
      self.count+=1 
      self.center_button=QPushButton() 
      self.center_button.setText(str(self.count)) 
      self.center_button.setFixedSize(25,25) 
      self.btns.append(self.center_button) 
      self.connect(self.center_button,SIGNAL("clicked()"),signal_mapper,SLOT("map()")) 
      signal_mapper.setMapping(self.center_button, str(self.count)) 
      self.center_layout.addWidget(self.center_button) 
    self.connect(signal_mapper, SIGNAL("mapped(QString)"), self, SLOT("showpage(QString)")) 
    #print self.count 
 
  @pyqtSlot(QString) 
  def showpage(self,page): 
    print page 
 
if __name__=='__main__': 
  import sys 
  app=QApplication(sys.argv) 
  page=PageWidget() 
  page.show() 
  sys.exit(app.exec_())

 效果图:

python实现分页效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
简单掌握Python的Collections模块中counter结构的用法
Jul 07 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
python实现淘宝购物系统
Oct 25 Python
Python爬虫使用代理IP的实现
Oct 27 Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 Python
Python 连接 MySQL 的几种方法
Sep 09 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
python数字转对应中文的方法总结
Aug 02 Python
python+pyqt实现12306图片验证效果
Oct 25 #Python
python编程羊车门问题代码示例
Oct 25 #Python
python中requests使用代理proxies方法介绍
Oct 25 #Python
python中requests爬去网页内容出现乱码问题解决方法介绍
Oct 25 #Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 #Python
Python探索之pLSA实现代码
Oct 25 #Python
python正则表达式re之compile函数解析
Oct 25 #Python
You might like
轻松修复Discuz!数据库
2008/05/03 PHP
PHP教程 基本语法
2009/10/23 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
javascript AOP 实现ajax回调函数使用比较方便
2010/11/20 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
今天,小程序正式支持 SVG
2019/04/20 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
详解python logging日志传输
2020/07/01 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
工作简报范文
2015/07/21 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers
Kubernetes控制节点的部署
2022/04/01 Servers