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之赋值,简单也不简单
Sep 24 Python
在Python的Flask框架下收发电子邮件的教程
Apr 21 Python
Python爬虫模拟登录带验证码网站
Jan 22 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
Python中动态创建类实例的方法
Mar 24 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
替换python字典中的key值方法
Jul 06 Python
Python文件操作函数用法实例详解
Dec 24 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
Python使用grequests并发发送请求的示例
Nov 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中随机显示图片的函数代码
2011/06/23 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
学习YUI.Ext第五日--做拖放Darg&amp;Drop
2007/03/10 Javascript
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
Python正则表达式教程之二:捕获篇
2017/03/02 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
python简单实现最大似然估计&amp;scipy库的使用详解
2020/04/15 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
酒店总经理助理职责
2014/02/12 职场文书
物业管理毕业生的自我评价
2014/02/17 职场文书
本科毕业生自荐信
2014/05/26 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
维稳工作情况汇报
2014/10/27 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
植物园观后感
2015/06/11 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
数据库连接池
2021/04/06 MySQL
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
2021好看的国漫排行榜前十名 《完美世界》上榜,《元龙》排名第一
2022/03/18 国漫