pysimplegui图片怎么显示
时间: 2023-09-18 22:11:22 浏览: 86
要在 PySimpleGUI 中显示图片,你可以使用 PySimpleGUI 的 `Image` 元素。下面是一个简单的示例代码,可以显示一张名为 `image.png` 的图片:
```python
import PySimpleGUI as sg
layout = [[sg.Image('image.png')], [sg.Button('Exit')]]
window = sg.Window('Image Viewer', layout)
while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Exit':
break
window.close()
```
这个例子中,我们创建了一个 `Image` 元素,并将其添加到布局中。然后,我们创建了一个带有退出按钮的窗口,并在循环中等待事件。当用户单击退出按钮或关闭窗口时,循环结束并关闭窗口。
相关问题
PySimpleGUI窗口显示图片
好的,您可以使用PySimpleGUI的Image元素来实现在窗口中显示图片。您首先需要安装Pillow库,然后在代码中导入Image元素和Pillow库。之后,您可以使用Image元素的update方法将图像加载到窗口中。
以下是一个简单的示例代码:
```
import PySimpleGUI as sg
from PIL import Image
# 打开图片
image = Image.open("example.jpg")
# 创建窗口
layout = [[sg.Image(key="-IMAGE-")]]
window = sg.Window("显示图片", layout)
# 更新窗口中的图像
window["-IMAGE-"].update(data=image.tobytes())
# 进入事件循环
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
```
这个示例代码假设您有名为“example.jpg”的图像文件,使用Pillow库打开该图像。然后,它创建一个包含Image元素的简单布局,并在窗口被创建时将图像加载到Image元素中。最后,代码进入事件循环,并在关闭窗口时退出循环。
PySimpleGUI 列表显示图片
### 创建可显示图片的列表
为了在 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]。
阅读全文