【发布时间】:2019-11-04 11:30:22
【问题描述】:
我有使用 PySimpleGUI 的 Python GUI,它需要显示多个我打算通过一组按钮导航的图。我知道我可以将所有绘图保存为给定文件夹中的 PNG,只需将它们加载到 Image 对象中,并在单击按钮时使用元素的 Update 方法加载新图像。
类似下面的东西效果很好:
[sg.Image(filename=os.getcwd() + pngFileName, key='key1', size=(5, 6))]
我需要传递一个我想从当前目录读取并显示在图像小部件中的图的文件名。
但这意味着我会将所有文件保存在一个文件夹中,而我更愿意将所有 PNG 保存在一个字典中,并在需要将给定文件名传递给 sg.Image() 时引用该字典。
我看到的优点是这样我不必占用硬盘驱动器上的空间来存储 PNG,也不必先写入然后从磁盘读取,我想获取 PNG 会更快直接来自运行时内存中的字典。
我无法实现这一点,因为代码似乎期望文件名具有特定路径,而不是传递包含 PNG 的字典的特定值。
我怎样才能做到这一点?
【问题讨论】:
-
你的图是什么格式的?这些图像具体来自哪里?它们是来自 Matplotlib 还是类似的东西?您将能够使用图像的 in-ram 版本更新图像元素。
-
您是否尝试过实现图像布局?像布局 = [ [sg.Image(r'Logo_320.png')],]
标签: python user-interface pysimplegui