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出现segfault错误解决方法
Apr 16 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
python2.7实现爬虫网页数据
May 25 Python
python实现列表中由数值查到索引的方法
Jun 27 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
在Pycharm中将pyinstaller加入External Tools的方法
Jan 16 Python
python实现浪漫的烟花秀
Jan 30 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
Sep 16 Python
Python 获取numpy.array索引值的实例
Dec 06 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
django创建css文件夹的具体方法
Jul 31 Python
如何在C++中调用Python
May 21 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
php模板之Phpbean的目录结构
2008/01/10 PHP
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
jQuery中调用WebService方法小结
2011/03/28 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
javascript 内存模型实例详解
2020/04/18 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
利用Python抓取行政区划码的方法
2016/11/28 Python
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
Python实现购物车购物小程序
2018/04/18 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
django如何通过类视图使用装饰器
2019/07/24 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
python入门之井字棋小游戏
2020/03/05 Python
一些网络技术方面的面试题
2014/05/01 面试题
艺术爱好者的自我评价分享
2013/10/08 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
安装工程师岗位职责
2015/02/13 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
房贷收入证明范本
2015/06/12 职场文书