使用Tkinter从Mysql数据库中检索和显示BLOB图像

时间:2011-11-29 20:40:05

标签: python mysql tkinter blob

这个def应该连接到数据库,如果参数正确应该检索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 :(得分:0)

我认为你需要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)

您也可以尝试将图片直接保存到文件&从那里装载它。

更多信息: