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 相关文章推荐
如何搜索查找并解决Django相关的问题
Jun 30 Python
详解Python爬虫的基本写法
Jan 08 Python
python非递归全排列实现方法
Apr 10 Python
MySQL适配器PyMySQL详解
Sep 20 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
浅谈Tensorflow模型的保存与恢复加载
Apr 26 Python
在python 不同时区之间的差值与转换方法
Jan 14 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
python字典的值可以修改吗
Jun 29 Python
python和go语言的区别是什么
Jul 20 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
博士208HAF收音机实习报告
2021/03/02 无线电
桌面中心(二)数据库写入
2006/10/09 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
2019/05/14 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
python读取注册表中值的方法
2013/04/08 Python
Python数据类型详解(二)列表
2016/05/08 Python
python常见的格式化输出小结
2016/12/15 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
巴西手表购物网站:eclock
2019/03/19 全球购物
企业行政文员岗位职责
2013/12/03 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
市场部管理制度
2014/02/02 职场文书
关于母亲节的感言
2014/02/04 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
先进个人推荐材料
2014/12/29 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
财务人员入职担保书
2015/09/22 职场文书
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js