Bilder aus QStringList laden
Verfasst: 7. Januar 2009 14:17
Hallo!
Im Prinzip möchte ich durch Drücken eines Buttons immer ein neues Bild auf der GUI anzeigen lassen.
Dafür habe ich die Dateinamen aus dem Bilderordner in einer QStringList eingelesen und nach Größe sortiert und kann mir die Liste auch in der Console anzeigen lassen (das funktioniert).
Hier der Code dazu:
Nun möchte ich aber auf Knopfdruck immer das nächste Element der QStringList auf mein pixmapLabel mit setPixmap anzeigen lassen!
Manuell hatte ich es so implementiert:
Wie bekomme ich das hin, dass meine StringList durchiteriert wird?
Vielleicht gibt es auch ne einfachere Lösung, die Bilder direkt aus dem Ordner zufällig zu laden?! Komme im Moment halt einfach nicht weiter...
Danke schonmal im Vorab.
Beaf
Im Prinzip möchte ich durch Drücken eines Buttons immer ein neues Bild auf der GUI anzeigen lassen.
Dafür habe ich die Dateinamen aus dem Bilderordner in einer QStringList eingelesen und nach Größe sortiert und kann mir die Liste auch in der Console anzeigen lassen (das funktioniert).
Hier der Code dazu:
Code: Alles auswählen
QDir d( "/home/Bilder/test/");
d.setFilter( QDir::Files | QDir::NoSymLinks );
d.setSorting( QDir::Size );
const QFileInfoList *list = d.entryInfoList();
QFileInfoListIterator it( *list );
QFileInfo *fi;
QStringList PictureList;
//Files aus Ordner in QStringList laden
while ( (fi = it.current()) != 0 ) {
PictureList.append(fi->fileName());
++it;
}
for (QStringList::Iterator it = PictureList.begin(); it != PictureList.end(); it++)
{
cout << *it << "\n";
}
Manuell hatte ich es so implementiert:
Code: Alles auswählen
void interface2::nextPicture()
{
//neues Pixmap laden
QPixmap pic;
pic.load( "/home/Bilder/test/bild1.jpg") );
pixmapLabel->setPixmap(pic);
}
Vielleicht gibt es auch ne einfachere Lösung, die Bilder direkt aus dem Ordner zufällig zu laden?! Komme im Moment halt einfach nicht weiter...
Danke schonmal im Vorab.
Beaf