Hi!

Photo are stored in a SQLite Database (from other application). Now I load data from database and want to load image in my label.
When I debug it, QByteArray is ok. But QPixmap is invalid. How can I fix it?

Thanks


.h file
Qt Code:
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3.  
  4. #include <QMainWindow>
  5. #include <QSqlDatabase>
  6. #include <QSqlQuery>
  7.  
  8. namespace Ui {
  9. class MainWindow;
  10. }
  11.  
  12. class MainWindow : public QMainWindow
  13. {
  14. Q_OBJECT
  15.  
  16. public:
  17. explicit MainWindow(QWidget *parent = 0);
  18. ~MainWindow();
  19.  
  20. QSqlQuery *query;
  21.  
  22. private slots:
  23. void on_pushButton_clicked();
  24.  
  25. private:
  26. Ui::MainWindow *ui;
  27. };
  28.  
  29. #endif // MAINWINDOW_H
To copy to clipboard, switch view to plain text mode 

.cpp file
Qt Code:
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include <QDebug>
  4. #include <QPixmap>
  5. #include <QSqlError>
  6. #include <QBuffer>
  7.  
  8. MainWindow::MainWindow(QWidget *parent) :
  9. QMainWindow(parent),
  10. ui(new Ui::MainWindow)
  11. {
  12. ui->setupUi(this);
  13. }
  14.  
  15. MainWindow::~MainWindow()
  16. {
  17. delete ui;
  18. }
  19.  
  20. void MainWindow::on_pushButton_clicked()
  21. {
  22. myDb = QSqlDatabase::addDatabase("QSQLITE","myconnection");
  23. myDb.setDatabaseName("D:/ArtistPhoto.db3");
  24.  
  25. if (!myDb.open()) {
  26. qDebug() << " not open";
  27. }
  28. else {
  29. qDebug() << " opened";
  30. query = new QSqlQuery ("SELECT Data FROM Artist WHERE NOT data IS NULL",myDb);
  31. if(query->first()) {
  32. QByteArray outByteArray = query->value("Data").toByteArray();
  33. QPixmap outPixmap = QPixmap();
  34. outPixmap.loadFromData( outByteArray );
  35. if(outPixmap.loadFromData(outByteArray,"PNG")) ui->label->setPixmap(outPixmap);
  36.  
  37. }
  38. myDb.close();
  39.  
  40.  
  41. }
  42.  
  43. }
To copy to clipboard, switch view to plain text mode 



Project source code and database file
http://bit.ly/2F1FNmd