溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

pyqt5如何實(shí)現(xiàn)繪制ui,列表窗口,滾動(dòng)窗口顯示圖片的方法

發(fā)布時(shí)間:2021-05-19 11:29:16 來源:億速云 閱讀:229 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下pyqt5如何實(shí)現(xiàn)繪制ui,列表窗口,滾動(dòng)窗口顯示圖片的方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1:listWidget 以滾動(dòng)窗口顯示文件下的所有文件:

pyqt5如何實(shí)現(xiàn)繪制ui,列表窗口,滾動(dòng)窗口顯示圖片的方法

self.listWidget = QtWidgets.QListWidget(self.gridLayoutWidget)
    self.listWidget.setMaximumSize(QtCore.QSize(16777215, 400))
    self.listWidget.setObjectName("listWidget")
 以上代碼都是以qtDesigner畫出來自動(dòng)生成的 
    self.listWidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn#這里以滾動(dòng)窗口顯示)
    self.pushButton_10.clicked.connect(TabWidget.viewList)#關(guān)聯(lián)事件
    def viewList(self):
      for i in os.listdir("./photo"):
        self.listWidget.addItem("./photo"+"/"+i)

2:點(diǎn)擊列表里的item能夠返回item名稱并顯示圖片

pyqt5如何實(shí)現(xiàn)繪制ui,列表窗口,滾動(dòng)窗口顯示圖片的方法

self.listWidget.currentItemChanged.connect(TabWidget.image)#這是點(diǎn)擊item會(huì)返回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:在滾動(dòng)窗口中顯示文件中的所有圖像

pyqt5如何實(shí)現(xiàn)繪制ui,列表窗口,滾動(dòng)窗口顯示圖片的方法

這部分先用qtDesigner 繪制了一塊scrollArea, 使用scrollArea的好處是自動(dòng)會(huì)生成滾動(dòng)條
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顯示的圖片效果也還不錯(cuò),但是不能滾動(dòng)畫面
    后來采用這種方法
    很遺憾窗口中的圖片不能點(diǎn)擊,就不能對(duì)相應(yīng)的圖片進(jìn)行分析
    所以我覺得還是應(yīng)該采用listWidget的方式顯示圖片

看完了這篇文章,相信你對(duì)“pyqt5如何實(shí)現(xiàn)繪制ui,列表窗口,滾動(dòng)窗口顯示圖片的方法”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI