最近要做个网页图片批量下载工具,然后需要一个页面显示网页上的所有图片供用户勾选,再根据勾选的内容来下载指定图片,其中就涉及到要到同时显示多张图片。
单页面显示多张图片
习惯性的用GridLayout但是发现怎么长时间解决都无法实现滚动,这样就会强制压缩图片大小,导致图片较多时显示的图片太小,不是我想要的,后面网上借鉴了一下用了ScrollArea实现了
代码如下:
import sys
import requests
from PyQt5.QtWidgets import (QWidget, QLabel,QVBoxLayout,QCheckBox,QGridLayout, QScrollArea,QApplication)
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt,QSize
class Picture(QWidget):
def __init__(self, parent=None, url=None):
super().__init__(parent)
self.url = url
self.ui()
def ui(self):
self.setFixedSize(850,600)
layout = QGridLayout()
total = len(self.url)
self.setLayout(layout)
self.sc = QScrollArea(self)
self.qw = QWidget()
if total % 5 == 0:
rows = int(total/5)
else:
rows = int(total