Получить и отобразить изображения BLOB из базы данных Mysql с Tkinter - PullRequest
0 голосов
/ 30 ноября 2011

это определение должно подключаться к базе данных, и если параметры верны, следует получить BLOB-изображение, однако я запутался в способе отображения этого изображения. В настоящее время он будет отображать всю другую информацию, кроме изображения BLOB, которое я хочу отобразить. я понимаю, что установка на stringvar не является правильной. Кто-нибудь может помочь с некоторой ясностью о том, как заставить это отображаться в Tkinter? если нет, есть ли альтернативные решения?

func = Tkinter.Toplevel()
func.title("blah")
func.geometry('400x400+0+0)

db = MySQLdb.connect(host='xxx.xxx.xxx.xxx', user='xxx',passwd='xxxx',db='xxxxx')
cursor = db.cursor()

FirstName = QE1.get()
LastName = QE2.get()
SSN = QE3.get()

cursor execute ("""SELECT pat_face FROM PATIENT WHERE pat_firstname=%s AND pat_lastname=%s AND pat_id=%s""",(FirstName,LastName,SSN))

PATFACEresults = StringVar()
PATFACEresults.set(cursor.fetchone())

db.close()

PATFACE = Tkinter.Label(func, textvariable=PATFACEresults).grid(row=0,column=1)

1 Ответ

0 голосов
/ 05 декабря 2011

Я думаю, вам понадобится PIL для этого (и, возможно, также StringIO).

что-то вроде:

from PIL import Image, ImageTk
import cStringIO

...

results = cursor.fetchone()
data = cStringIO.StringIO(results.tostring())
pic = ImageTk.PhotoImage(Image.open(data))

patface = Tkinter.Label(func, image=pic)
patface.grid(row=0, column=1)

Вы также можете попробовать сохранить изображение непосредственно в файл &загрузка оттуда.

больше информации:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...