使用python的PySimpleGUI库,如果我打开文件选择器后选择了一张图片并且想让该图片显示到我的窗口里需要调用什么方法?
可以使用PIL库中的Image元素来显示图片。具体实现方法如下:
import PySimpleGUI as sg
from PIL import Image, ImageTk
layout = [[sg.Image(key='-IMAGE-')], [sg.Button('选择图片'), sg.Button('退出')]]
window = sg.Window('显示图片', layout)
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, '退出'):
break
elif event == '选择图片':
filename = sg.popup_get_file('选择图片', default_extension='.png', file_types=(('PNG Files', '*.png'), ('JPEG Files', '*.jpg')))
if filename:
# 打开图像并缩放
image = Image.open(filename)
image = image.resize((512, 512), Image.ANTIALIAS)
# 将图像转换为PhotoImage对象
photo_image = ImageTk.PhotoImage(image)
# 更新Image元素
window['-IMAGE-'].update(data=photo_image)
window.close()
可以使用PySimpleGUI的Image元素来显示图片。具体步骤如下:
下面是一个示例代码:
import PySimpleGUI as sg
from PIL import Image
# 定义窗口布局
layout = [[sg.Text('选择一张图片:')],
[sg.Input(key='file'), sg.FileBrowse()],
[sg.Image(key='image')]]
# 创建窗口
window = sg.Window('显示图片', layout)
# 事件循环
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
if event == 'FileBrowse':
# 用户选择文件后,将图片显示到窗口中
filename = values['file']
if filename:
# 使用Pillow库打开图片文件,并转换为PySimpleGUI支持的格式
with Image.open(filename) as img:
img_data = img.tobytes()
size = img.size
# 将图片数据传递给Image元素来显示图片
window['image'].update(data=img_data, size=size)
# 关闭窗口
window.close()
如果工程目录是这样的,想要在test_d里引入test_c.py文件
test_c.py里有个方法c,如图