使用python tkinter给选择固定类型的图片文件编序,双击文件后可以打开。
时间: 2024-03-22 18:38:12 浏览: 60
以下是一个简单的Tkinter程序,演示如何使用文件对话框选择指定类型的图片文件,并将选择的图片文件显示在程序界面上,并支持双击打开图片文件:
```python
import tkinter as tk
from tkinter import filedialog
from PIL import Image, ImageTk
root = tk.Tk()
root.withdraw() # 隐藏Tk窗口
# 定义支持的图片类型
ALLOWED_EXTENSIONS = {'jpg', 'jpeg', 'png', 'gif'}
def allowed_file(filename):
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
def open_file():
file_path = filedialog.askopenfilename()
if file_path and allowed_file(file_path):
# 打开图片文件
image = Image.open(file_path)
# 将图片转换为Tkinter支持的格式
photo = ImageTk.PhotoImage(image)
# 显示图片
label.config(image=photo)
label.image = photo
# 绑定双击事件,打开图片文件
label.bind('<Double-Button-1>', lambda e: open_image(file_path))
def open_image(file_path):
import os
if os.name == 'nt':
os.startfile(file_path)
else:
os.system('open "{}"'.format(file_path))
# 创建一个标签用于显示图片
label = tk.Label(root)
label.pack()
# 创建一个按钮用于选择图片文件
button = tk.Button(root, text="选择图片", command=open_file)
button.pack()
root.mainloop()
```
这个程序会在Tkinter窗口中创建一个标签和一个按钮。点击按钮会弹出文件选择对话框,只有选择了指定类型的图片文件才会在标签中显示图片。同时,标签支持双击事件,可以打开选择的图片文件。
阅读全文