Afficher une image incluse dans in BLOB SQL sous PySide2
Résolu/Fermé
JohnMacGyver
Messages postés
5
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
4 avril 2020
-
28 janv. 2020 à 22:07
Jawadov11 - 12 juin 2020 à 14:35
Jawadov11 - 12 juin 2020 à 14:35
A voir également:
- Afficher une image incluse dans in BLOB SQL sous PySide2
- Image iso - Guide
- Comment agrandir une image - Guide
- Acronis true image - Télécharger - Sauvegarde
- Afficher les tables d'une base de données sql ✓ - Forum Programmation
4 réponses
Bonjour,
Fait est qu'enregistrer une image dans une bdd n'a jamais été une très bonne idée, il y a QImage.fromData qui permet de charger ton image.
https://doc.qt.io/qtforpython/PySide2/QtGui/QImage.html#PySide2.QtGui.PySide2.QtGui.QImage.fromData
Fait est qu'enregistrer une image dans une bdd n'a jamais été une très bonne idée, il y a QImage.fromData qui permet de charger ton image.
https://doc.qt.io/qtforpython/PySide2/QtGui/QImage.html#PySide2.QtGui.PySide2.QtGui.QImage.fromData
JohnMacGyver
Messages postés
5
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
4 avril 2020
Modifié le 29 janv. 2020 à 22:09
Modifié le 29 janv. 2020 à 22:09
Bonjour Trifou.
J'ai regardé ton lien, mais ça ne m'aide pas.
c'est un lien qui donnes des dizaines d'instructions, sans me donner une piste.
Actuellement j'ai mon image dans un Tableau et j'ai un Qlabel
qui peux m'afficher l'image dans le tableau.
Le soucis c'est que comme je débute impossible pour moi d’écrire le code
qui va envoyer cette image dans le Qlabel.
J'ai réussi a afficher une image qui viens directement d'un fichier.jpg
import sys
from PySide2 import QtCore, QtGui, QtWidgets
app = QtWidgets.QApplication(sys.argv)
pixmap = QtGui.QPixmap('image.jpg')
label = QtWidgets.QLabel()
label.setPixmap(pixmap)
label.show()
app.exec_()
Ce petit code fonctionne
Mais comment faire quand ce Jpg est dans un tableau ???
J'ai regardé ton lien, mais ça ne m'aide pas.
c'est un lien qui donnes des dizaines d'instructions, sans me donner une piste.
Actuellement j'ai mon image dans un Tableau et j'ai un Qlabel
qui peux m'afficher l'image dans le tableau.
Le soucis c'est que comme je débute impossible pour moi d’écrire le code
qui va envoyer cette image dans le Qlabel.
J'ai réussi a afficher une image qui viens directement d'un fichier.jpg
import sys
from PySide2 import QtCore, QtGui, QtWidgets
app = QtWidgets.QApplication(sys.argv)
pixmap = QtGui.QPixmap('image.jpg')
label = QtWidgets.QLabel()
label.setPixmap(pixmap)
label.show()
app.exec_()
Ce petit code fonctionne
Mais comment faire quand ce Jpg est dans un tableau ???
Bonjour,
Pourtant tout ce qu'il y a à faire, c'est d'utiliser
Je n'utilise pas pyside ni qt, mais j'ai quand même testé pour voir si ça fonctionne.
Avec un fichier image.jpg.
Petit script pour créer une simple table et l'insertion d'une image.
Ce script exécuté, alors il suffit de tester dans un autre script l'affichage en récupérant l'image dans la table.
Cela fonctionne très bien =)
Pourtant tout ce qu'il y a à faire, c'est d'utiliser
QtGui.QImage.fromDataet le fournir à
QtGui.QPixmap.fromImage.
Je n'utilise pas pyside ni qt, mais j'ai quand même testé pour voir si ça fonctionne.
Avec un fichier image.jpg.
Petit script pour créer une simple table et l'insertion d'une image.
import sqlite3 sql_create = """ CREATE TABLE test_image( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, image BLOB NOT NULL ) """ with sqlite3.connect('la_base.db') as con, open('image.jpg', 'rb') as f: cur = con.cursor() cur.execute(sql_create) con.commit() data = f.read() cur.execute('INSERT INTO test_image(image) VALUES(?)', (data,)) con.commit()
Ce script exécuté, alors il suffit de tester dans un autre script l'affichage en récupérant l'image dans la table.
from PySide2 import QtGui, QtWidgets import sqlite3 with sqlite3.connect('la_base.db') as con: cur = con.cursor() cur.execute('SELECT image FROM test_image') data = cur.fetchall() app = QtWidgets.QApplication() label = QtWidgets.QLabel() img = QtGui.QImage.fromData(data[0][0]) pixmap = QtGui.QPixmap.fromImage(img) label.setPixmap(pixmap) label.show() app.exec_()
Cela fonctionne très bien =)
JohnMacGyver
Messages postés
5
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
4 avril 2020
Modifié le 30 janv. 2020 à 20:24
Modifié le 30 janv. 2020 à 20:24
SUPER !!!!!!
C'est génial çà fonctionne très bien...
Merci beaucoup trifou, pour ton aide précieuse...
C'est génial çà fonctionne très bien...
Merci beaucoup trifou, pour ton aide précieuse...