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 生成不重复的随机数的代码
May 15 Python
python安装教程 Pycharm安装详细教程
May 02 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
Nov 16 Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
Python使用pandas处理CSV文件的实例讲解
Jun 22 Python
opencv实现简单人脸识别
Feb 19 Python
Django框架表单操作实例分析
Nov 04 Python
python对指定字符串逆序的6种方法(小结)
Apr 02 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 Python
在Pycharm中安装Pandas库方法(简单易懂)
Feb 20 Python
判断Python中的Nonetype类型
May 25 Python
python for循环赋值问题
Jun 03 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
MySQL连接数超过限制的解决方法
2011/07/17 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
让alert不出现弹窗的两种方法
2014/05/18 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
python cs架构实现简单文件传输
2020/03/20 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
曼城官方网上商店:Manchester City
2019/09/10 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
金融专业应届生求职信
2013/11/02 职场文书
大学四年个人的自我评价
2014/02/26 职场文书
委托书范本
2014/04/02 职场文书
安全标兵事迹材料
2014/08/17 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
初中信息技术教学计划
2015/01/22 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python