PyQt5 Datein im listWidget als Bilder anzeigen
Verfasst: Mittwoch 17. April 2019, 18:31
Huhu und zwar wollte ich mal nachfragen, wie ich im folgenden Bild Dateien die eingelesen wurden entweder:
Variante1:
links soll ein "Vorschaubild" der Datei (.jpg, .mp4, .wav) zu sehen sein und rechts daneben der Dateiname
oder
Variante2:
die eingelesenen Dateien sollen in Form eines GridLayouts angeordnet werden es soll nur ein Vorschaubild zu sehen sein und wenn man mit der Maus über eines der Vorschaubilder fährt soll der Dateiname angezeigt werden.
darstellen kann.
Alle Dateien sollten drag&drop bar sein.

Code:
Da ich in PyQt5 noch ziemlich unerfahren bin wäre ich für Ideen, Vorschläge sowie zum Thema passende Tutorials sehr dankbar.
MfG Felix
Variante1:
links soll ein "Vorschaubild" der Datei (.jpg, .mp4, .wav) zu sehen sein und rechts daneben der Dateiname
oder
Variante2:
die eingelesenen Dateien sollen in Form eines GridLayouts angeordnet werden es soll nur ein Vorschaubild zu sehen sein und wenn man mit der Maus über eines der Vorschaubilder fährt soll der Dateiname angezeigt werden.
darstellen kann.
Alle Dateien sollten drag&drop bar sein.

Code:
Code: Alles auswählen
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QWidget, QPushButton, QListWidget
from PyQt5 import uic
from PyQt5.QtCore import QObject
from config import Resources
import os
class Filemanager(QWidget):
def __init__(self, parent=None):
super(Filemanager, self).__init__(parent)
uic.loadUi(Resources.get_instance().files.filemanager, self)
self.setupUi()
# self.retranslateUi()
def setupUi(self):
self.setObjectName("file_manager")
#Dialog.resize(673, 280)
self.pushButton_3 = self.findChild(QObject,'pushButton_3')
self.pushButton_2 = self.findChild(QObject,'pushButton_2')
self.listWidget = self.findChild(QObject,'listWidget')
# self.retranslateUi(self)
self.pushButton_2.clicked.connect(self.filePick)
self.pushButton_3.clicked.connect(self.clearListWidget)
QtCore.QMetaObject.connectSlotsByName(self)
def retranslateUi(self):
_translate = QtCore.QCoreApplication.translate
self.setWindowTitle(_translate("Dialog", "Dialog"))
self.pushButton_3.setToolTip(_translate("Dialog", "<html><head/><body><p>Clear</p></body></html>"))
self.pushButton_3.setText(_translate("Dialog", "Clear"))
self.pushButton_2.setToolTip(_translate("Dialog", "<html><head/><body><p>Pick File</p></body></html>"))
self.pushButton_2.setText(_translate("Dialog", "Pick Files"))
self.pushButton.setToolTip(_translate("Dialog", "<html><head/><body><p>Exit</p></body></html>"))
self.pushButton.setText(_translate("Dialog", "Exit"))
def filePick(self):
fileNames, _ = QtWidgets.QFileDialog.getOpenFileNames(None, "QFileDialog.getOpenFileName()", "",
"All Files (*);;Image Files (*.png);; Sound Files(*.mp3);; Movie Files (*.mp4)")
self.fillListWidget(fileNames)
def fillListWidget(self, filenames):
self.listWidget.addItems(filenames)
def clearListWidget(self):
self.listWidget.clear()
def exit(self):
sys.exit(app.exec_())
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Filemanager()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
MfG Felix