python实现分页效果
更新时间:2017年10月25日 17:20:53 作者:飞奔的猫
这篇文章主要为大家详细介绍了python实现分页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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_())
效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
在python3环境下的Django中使用MySQL数据库的实例
下面小编就为大家带来一篇在python3环境下的Django中使用MySQL数据库的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-08-08
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
这篇文章主要介绍了pycharm激活码2020最新分享适用pycharm2020最新版亲测可用,同时也支持Intellij IDEA激活码,PHPStorm激活码大家可以放心使用需要的朋友可以参考下2020-11-11
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
这篇文章主要介绍了python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析的实例,帮助大家更好的理解和学习使用python。感兴趣的朋友可以了解下2021-04-04
pytorch:torch.mm()和torch.matmul()的使用
今天小编就为大家分享一篇pytorch:torch.mm()和torch.matmul()的使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-12-12


最新评论