【问题标题】:Retrieve and displaying BLOB images from Mysql database with Tkinter使用 Tkinter 从 Mysql 数据库中检索和显示 BLOB 图像
【发布时间】:2012-01-09 04:27:35
【问题描述】:

这个 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)

【问题讨论】:

    标签: python mysql tkinter blob


    【解决方案1】:

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

    您也可以尝试将图像直接保存到文件并从那里加载。

    更多信息:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-02
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      • 2016-09-01
      • 2016-06-12
      相关资源
      最近更新 更多