PySimpleGUI用layout弹出不同窗口,不同窗口内可插入不同图片
时间: 2024-10-11 13:07:53 浏览: 39
PySimpleGUI(PSG)是一个简单易用的图形用户界面库,它允许你在Python程序中快速创建各种窗口和布局。如果你想使用PSG在同一程序中打开多个窗口,并在每个窗口里显示不同的图片,你可以按照以下步骤进行:
1. 首先,安装PySimpleGUI,如果还没有安装,可以通过pip安装:
```bash
pip install PySimpleGUI
```
2. 导入必要的模块:
```python
import PySimpleGUI as sg
```
3. 创建窗口布局。你可以定义一个函数,根据窗口类型(比如`sg.WINDOW`, `sg.Toplevel`等)动态生成布局。每个窗口的布局可能包含不同数量或类型的图像元素(如`sg.Image`)。例如:
```python
def create_window_image(window_name, image_path):
layout = [
[sg.Image(image_path)],
[sg.Button("Close", key="close_{}".format(window_name))]
]
return sg.Window(window_name, layout)
```
4. 使用`try/except`来管理每个窗口的打开和关闭,因为可能会有文件路径错误或者其他异常:
```python
image_paths = ["path_to_image1.jpg", "path_to_image2.png"] # 图片文件路径列表
for i, image_path in enumerate(image_paths):
try:
window = create_window_image(f"Window {i+1}", image_path)
event, values = window.read()
if event == "close_{}".format(i+1): # 关闭窗口的键值
window.close()
except Exception as e:
print(f"Error opening window {i+1}: {e}")
```
5. 当所有图片都处理完毕后,确保清理窗口和内存。
阅读全文