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 相关文章推荐
python实现socket客户端和服务端简单示例
Feb 24 Python
django 常用orm操作详解
Sep 13 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
python中字符串变二维数组的实例讲解
Apr 03 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
Python列表list常用内建函数实例小结
Oct 22 Python
python实现小世界网络生成
Nov 21 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 Python
Python函数调用追踪实现代码
Nov 27 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 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
PHP新手上路(八)
2006/10/09 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
js中function()使用方法
2013/12/24 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
python里使用正则的findall函数的实例详解
2017/10/19 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
班长竞选演讲稿
2014/04/24 职场文书
个人担保书范文
2014/05/20 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
见习期个人总结
2015/03/05 职场文书
安全教育主题班会总结
2015/08/14 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
Go语言实现Snowflake雪花算法
2021/06/08 Golang
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技