pyqt5實現繪製ui,列表視窗,滾動視窗顯示圖片的方法
阿新 • • 發佈:2020-12-29
更多python教程請到友情連線: 菜鳥教程www.piaodoo.com
人人影視www.sfkyty.com
飛盧小說網www.591319.com
韓劇網www.op-kg.com
興化論壇www.yimoge.cn
星辰影院www.hhsos.net
1:listWidget 以滾動視窗顯示檔案下的所有檔案:
self.listWidget = QtWidgets.QListWidget(self.gridLayoutWidget) self.listWidget.setMaximumSize(QtCore.QSize(16777215, 400)) self.listWidget.setObjectName("listWidget") 以上程式碼都是以qtDesigner畫出來自動生成的 self.listWidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn#這裡以滾動視窗顯示) self.pushButton_10.clicked.connect(TabWidget.viewList)#關聯事件 def viewList(self): for i in os.listdir("./photo"): self.listWidget.addItem("./photo"+"/"+i)
2:點選列表裡的item能夠返回item名稱並顯示圖片
self.listWidget.currentItemChanged.connect(TabWidget.image)#這是點選item會返回item的名稱:ps我使用qtDesigner繪製的TabWidget。def image():
print(self.listWidget.currentItem().text())
imagefile=self.listWidget.currentItem().text()
png = QtGui.QPixmap(imagefile).scaled(self.label.width(), self.label.height())
self.label.setPixmap(png)在lable上顯示圖片
3:在滾動視窗中顯示檔案中的所有影象
這部分先用qtDesigner 繪製了一塊scrollArea, 使用scrollArea的好處是自動會生成滾動條 def suoluetu(self): names=[] positions = [(i, j) for i in range(4) for j in range(30)] for i in os.listdir(r"./photo"): names.append("./photo"+"/"+i) self.filewidget = QWidget() self.filewidget.setMinimumSize(350, 1800) for position, names in zip(positions, names): lab = QLabel(self.filewidget) lab.setFixedSize(100,150) pix=QtGui.QPixmap(names) lab.setPixmap(pix) lab.move(100*position[0]+50,150*position[1]+70)#這部分是我自己瞎寫的 self.scrollArea.setWidget(self.filewidget) 一開始採用的gridLayout顯示的圖片效果也還不錯,但是不能滾動畫面 後來採用這種方法 很遺憾視窗中的圖片不能點選,就不能對相應的圖片進行分析 所以我覺得還是應該採用listWidget的方式顯示圖片
以上這篇pyqt5實現繪製ui,列表視窗,滾動視窗顯示圖片的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援菜鳥教程www.piaodoo.com。