1. 程式人生 > 實用技巧 >pyqt5實現繪製ui,列表視窗,滾動視窗顯示圖片的方法

pyqt5實現繪製ui,列表視窗,滾動視窗顯示圖片的方法

更多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。