小編給大家分享一下pyqt5如何實現繪制ui,列表窗口,滾動窗口顯示圖片的方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
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,列表窗口,滾動窗口顯示圖片的方法”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。