PySimpleGUI 列表显示图片
时间: 2025-01-08 10:42:54 浏览: 3
### 创建可显示图片的列表
为了在 PySimpleGUI 中创建一个能够显示图片的列表,可以通过 `sg.Listbox` 和 `sg.Image` 组合来实现。下面是一个详细的例子说明如何完成这一功能。
首先设置主题并定义布局,在这个布局里不仅有用于展示图片路径或名称的 `Listbox` 还有一个用来实际渲染所选图片的 `Image` 元素[^1]:
```python
import PySimpleGUI as sg
# 设置应用的主题颜色方案
sg.theme('DarkAmber')
# 初始化图像文件名列表以及默认显示的第一张图
image_files = ['path/to/image1.png', 'path/to/image2.jpg']
default_image = image_files[0]
layout = [
[sg.Text('Select an Image')],
[sg.Listbox(values=image_files, size=(50, 6), key='-FILE LIST-', enable_events=True)],
[sg.Image(filename=default_image, key='-IMAGE-')]
]
```
接着创建窗口对象并将上述布局传递给它。通过监听 `-FILE LIST-` 的变化事件更新右侧 `Image` 显示的内容[^3]:
```python
window = sg.Window('Image Viewer', layout)
while True:
event, values = window.read()
if event in (None, 'Cancel'):
break
elif event == '-FILE LIST-' and len(values['-FILE LIST-'][0]
window['-IMAGE-'].update(filename=selected_file)
window.close()
```
这段代码实现了当用户从左侧列表框中选择不同的项时,右边会相应地加载并显示出对应的图片[^4]。
阅读全文