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函数缺省值与引用学习笔记分享
Feb 10 Python
使用IPython来操作Docker容器的入门指引
Apr 08 Python
浅谈Python中copy()方法的使用
May 21 Python
Python内置函数 next的具体使用方法
Nov 24 Python
Python使用matplotlib填充图形指定区域代码示例
Jan 16 Python
python实现飞机大战游戏
Oct 26 Python
Django重置migrations文件的方法步骤
May 01 Python
PyTorch搭建多项式回归模型(三)
May 22 Python
了解不常见但是实用的Python技巧
May 23 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
python爬取Ajax动态加载网页过程解析
Sep 05 Python
Python request post上传文件常见要点
Nov 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
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
2011/10/31 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
PHP代码优化的53个细节
2014/03/03 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
python和bash统计CPU利用率的方法
2015/07/10 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
python实现图像拼接
2020/03/05 Python
Python爬取某平台短视频的方法
2021/02/08 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
银行竞聘演讲稿范文
2014/04/23 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
体育教师教学随笔
2015/08/15 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
Python基础 括号()[]{}的详解
2021/11/07 Python
一文搞懂Java中的注解和反射
2022/06/21 Java/Android