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í)例代碼
在工作中遇到了合并具有相同條件的單元格合并的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Python?excel合并居中值相同單元格的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06pytorch nn.Conv2d()中的padding以及輸出大小方式
今天小編就為大家分享一篇pytorch nn.Conv2d()中的padding以及輸出大小方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Pytest使用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-11python編程測(cè)試電腦開(kāi)啟最大線程數(shù)實(shí)例代碼
這篇文章主要介紹了python編程測(cè)試電腦開(kāi)啟最大線程數(shù)實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02Django框架登錄加上驗(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-05Python實(shí)現(xiàn)PS濾鏡碎片特效功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)PS濾鏡碎片特效功能,結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)PS濾鏡碎片效果的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2018-01-01