python實(shí)現(xiàn)分頁(yè)效果
本文實(shí)例為大家分享了python實(shí)現(xiàn)分頁(yè)效果展示的具體代碼,供大家參考,具體內(nèi)容如下
難點(diǎn):清空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 #當(dāng)前點(diǎn)擊標(biāo)識(shí)
self.nextsign=0 #當(dāng)前點(diǎn)擊標(biāo)識(shí)
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轉(zhuǎn)有參數(shù)
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_())
效果圖:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python?excel合并居中值相同的單元格實(shí)例代碼
在工作中遇到了合并具有相同條件的單元格合并的問題,下面這篇文章主要給大家介紹了關(guān)于Python?excel合并居中值相同單元格的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
pytorch nn.Conv2d()中的padding以及輸出大小方式
今天小編就為大家分享一篇pytorch nn.Conv2d()中的padding以及輸出大小方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-01-01
Pytest使用fixture實(shí)現(xiàn)token共享的方法
同學(xué)們?cè)谧鰌ytest接口自動(dòng)化時(shí),會(huì)遇到一個(gè)場(chǎng)景就是不同的測(cè)試用例需要有一個(gè)登錄的前置步驟,登錄完成后會(huì)獲取到token,用于之后的代碼中,本文給大家介紹Pytest使用fixture實(shí)現(xiàn)token共享的方法,感興趣的朋友一起看看吧2023-11-11
python編程測(cè)試電腦開啟最大線程數(shù)實(shí)例代碼
這篇文章主要介紹了python編程測(cè)試電腦開啟最大線程數(shù)實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
Django框架登錄加上驗(yàn)證碼校驗(yàn)實(shí)現(xiàn)驗(yàn)證功能示例
這篇文章主要介紹了Django框架登錄加上驗(yàn)證碼校驗(yàn)實(shí)現(xiàn)驗(yàn)證功能,結(jié)合實(shí)例形式分析了Django框架基于Pillow模塊的圖形驗(yàn)證碼生成與使用相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
Python實(shí)現(xiàn)PS濾鏡碎片特效功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)PS濾鏡碎片特效功能,結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)PS濾鏡碎片效果的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2018-01-01

