John hat mal wieder ne geistige Blockade......
Ich öffne in meiner Hauptanwendung ein 2. Fenster, abgeleitet von QDialog, dieses habe ich auf ein Kontextmenü innerhalb eines QlistWidgets connected, das Funktioniert alles wunderbar.
Das laden eines Images in ein QLabel wil mir aber einfach nicht gelingen.
hier der Code der betreffenden Funktion
Code: Alles auswählen
void PictureViewer::createwindow(QStringList globallist,int i)
{
fileName = globallist[i];
image.load(fileName);
if (image.isNull())
{
QMessageBox::information(this, tr("Image Viewer"),
tr("Cannot load %1.").arg(fileName));
qDebug() << "image wont load";
}
pictureview.label_2->setPixmap(QPixmap::fromImage(image));
pictureview.label->setText("test");
qDebug() << image.depth() ;
PictureViewer p;
p.exec();
Code: Alles auswählen
#ifndef PICTUREVIEWER_H
#define PICTUREVIEWER_H
#include <QDialog>
#include "ui_Pictureviewer.h"
class PictureViewer : public QDialog
{
Q_OBJECT
public:
explicit PictureViewer(QWidget *parent = 0);
QImage image;
private:
Ui::Pictureviewer pictureview;
QString fileName;
QStringList globallist;
int i;
void close();
signals:
public slots:
void createwindow(QStringList globallist, int i);
void picture();
};
#endif // PICTUREVIEWER_H
Das Bild wird auch definitiv geladen, qDebug() << image.depth() ; gibt mir 32 aus......
Wenn ich meinen Fehler mal selbst versuchen darf einzugrenzen
es liegt doch bestimmt an der Erzeugung des Fensters via .exec() bzw. an dessen "Zeitpunkt" im Ablauf das die Sache nicht will.
Kann durchaus sein das ich hier wieder eine elementare Sache nicht begriffen habe, also franzf und christian Biiiittttteeee nicht an mir verzweifeln