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实现dict版图遍历示例
Feb 19 Python
django之常用命令详解
Jun 30 Python
Python语言描述KNN算法与Kd树
Dec 13 Python
致Python初学者 Anaconda入门使用指南完整版
Apr 05 Python
Python if语句知识点用法总结
Jun 10 Python
如何在python字符串中输入纯粹的{}
Aug 22 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
Python GUI编程 文本弹窗的实例
Jun 11 Python
Django使用消息提示简单的弹出个对话框实例
Nov 15 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 Python
Python使用pyyaml模块处理yaml数据
Apr 14 Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 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获取某个目录大小的代码
2008/09/10 PHP
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
服务员岗位责任制
2014/02/11 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
师范生求职自荐信
2014/06/14 职场文书
医学生求职信
2014/07/01 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
中标通知书
2015/04/17 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang