【发布时间】:2022-01-11 21:02:24
【问题描述】:
enter image description here# 我得到了这个 Treeview 图像表而不是图像
global img, filename
self.fob = open(filename, 'rb')
self.fob = self.fob.read()
entities = (self.makecb.get(), self.modelcb.get(),self.Yearcb.get(), self.Transmissioncb.get(),self.Fuelcb.get(),self.colorcb.get(),self.Enginedisplacementcb.get(),self.PreviousownersE.get(), self.Vehicleorigincb.get(),self.mileagecb.get(), self.numofpasscb.get(),self.lincesplatenum.get().replace(" ", ""), self.fob,
self.sunroofcheck, self.leatherseatcheck,self.sensorcheck, self.cameracheck, self.AlloyWheelscheck,
self.centrallockcheck, self.monitorcheck, self.alarmsystemcheck, self.Daylightledcheck, self.Airbagcheck,
self.Seller_name.get(), self.cashepayments.get(), self.price.get(), self.lincses_start_date_E.get(),
self.linces_expiredate_E.get(), self.insurancecomp_E.get(), self.insurancecomtype_cb.get())
self.con = sqlite3.connect('car dealership.db')
self.cursorObj = self.con.cursor()
self.cursorObj.execute(
'''INSERT INTO Vechicle_info(carmake, carmodel, caryear, cartransmition, carfuel, carcolor, carengine, carpreviousowners, carorigin, carmileage, carnumofpassengers, carlincesplatenum, image, Sunroof, leatherseat, sensor, camera, AlloyWheels, centrallock, monitor, alarmsystem, Daylightled, Airbag, sellerrname, paymentmethod, price, Licensesdatestart, Licensedateexpire, insurancecompanyname, insurancetype) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)''',
entities)
self.con.commit()
self.cursorObj.close()
问题: 我想用其他值从 sqllite3 数据库中检索 blob,并使用 tkinter 将其插入到树视图表中。将这些值插入表中时,我在图像列 \xfa\xf4\xe9\xd0\xd2\xd2\xc2\x8c\x193\xa0\xab\xab\xcb\x96Q\xcaf\ 上得到了这些类型的二进制文件那么如何从数据库中获取图像,然后将其转换为图像并将此图像插入到树视图表 tkinter 中。
【问题讨论】:
-
你知道它应该是什么类型的图像吗?
-
你有将它插入sqlite的代码吗?您知道图像的尺寸(以像素宽乘以像素高)和二进制 blob 中的字节数吗?
-
@kpie 感谢您对代码第一部分的回复:self.con = sqlite3.connect('car Dealership.db') self.cursorObj = self.con.cursor() self .my_row=self.cursorObj.execute('SELECT image, price, carlincesplatenum, caryear, carmodel, carmake FROM Vechicle_info') self.cars_expense_output = self.cursorObj.fetchall() self.imglist=[] for record in self.cars_expense_output: stream=io.BytesIO(record[0]) img=Image.open(stream) img=ImageTk.PhotoImage(img)
-
@kpie 这是第二个:#img.thumbnail((50,50)) self.carstoselecet_expensetree.insert(parent="",index=END,image=img,values=(record [1],record[2],record[3],record[4],record[5],record[6])) self.imglist.append(img)
-
@MarkSetchell 感谢您对代码第一部分的回复:self.con = sqlite3.connect('car Dealership.db') self.cursorObj = self.con.cursor() self .my_row=self.cursorObj.execute('SELECT image, price, carlincesplatenum, caryear, carmodel, carmake FROM Vechicle_info') self.cars_expense_output = self.cursorObj.fetchall() self.imglist=[] for record in self.cars_expense_output: stream=io.BytesIO(record[0]) img=Image.open(stream) img=ImageTk.PhotoImage(img)