list_widget.setSpacing(2) list_widget.setUniformItemSizes(True) list_widget.itemClicked.connect(lambda item: print(item.sizeHint())) list_widget.move(100, 50) list_widget.resize(800, 600) list_widget.show() headers = ['IMAGE', 'FILE NAME', 'DIRECTORY'] table_widget = QTableWidget() table_widget.setColumnCount(len(headers)) table_widget.setHorizontalHeaderLabels(headers) table_widget.horizontalHeader().setStretchLastSection(True) table_widget.setColumnWidth(0, ICON_WIDTH) table_widget.setItemDelegateForColumn(0, ImageDelegate()) table_widget.setIconSize(QSize(ICON_WIDTH, ICON_HEIGHT)) table_widget.move(list_widget.pos().x(), list_widget.geometry().bottom()) table_widget.resize(800, 600) table_widget.show() start_time = DT.datetime.now() row = 0 for i, file_name in enumerate(file_names, 1): list_widget.setWindowTitle( f'{i} / {len(file_names)} ({i / len(file_names):.0%})') table_widget.setWindowTitle( f'{i} / {len(file_names)} ({i / len(file_names):.0%})') pixmap = QPixmap(file_name) if pixmap.isNull(): continue