【发布时间】:2020-11-07 02:29:10
【问题描述】:
我已经检查了this answer,但它似乎没有清楚地解释为了将图像直接从 mysql db 直接显示到 kivy 窗口而发生了什么,假设我们已经在一个名为 loaded_Image 的变量中拥有来自 mysql 的 blob 数据.
我们如何在窗口中显示loaded_Image? {最好使用动态图像小部件,而不是来自 .kv 文件}
如果您以前完成过此操作,请提供帮助。
【问题讨论】:
我已经检查了this answer,但它似乎没有清楚地解释为了将图像直接从 mysql db 直接显示到 kivy 窗口而发生了什么,假设我们已经在一个名为 loaded_Image 的变量中拥有来自 mysql 的 blob 数据.
我们如何在窗口中显示loaded_Image? {最好使用动态图像小部件,而不是来自 .kv 文件}
如果您以前完成过此操作,请提供帮助。
【问题讨论】:
我尽我所能理解这一点
首先使用普通的mysql python加载一个blob数据形式的图像并存储在一个变量中,我的例子叫做image,你将它如下转换为数据,然后将数据添加到CoreImage
image = value[9]
data = io.BytesIO(image)
img = CoreImage(data, ext="png").texture
确保将其用于导入
from kivy.uix.image import Image, CoreImage
接下来确保在项目文件夹中添加默认图像并使用小部件调用它,如下所示
widget = Image(source = 'a.jpg')
将小部件的纹理设置为img,然后将其添加到目标小部件或父级
widget.texture = img
target.add_widget(widget)
完整的工作代码如下:
image = value[9] #Add your data
data = io.BytesIO(image)
img = CoreImage(data, ext="png").texture
widget = Image(source = 'a.jpg')
widget.texture = img
target.add_widget(widget)
【讨论】: