python做图片浏览器
时间: 2023-10-04 12:09:55 浏览: 37
可以使用Python的图形界面库Tkinter来实现一个简单的图片浏览器。以下是一个示例代码:
```python
import os
from tkinter import *
from PIL import ImageTk, Image
class ImageBrowser:
def __init__(self, root):
self.root = root
self.root.title("图片浏览器")
# 获取所有图片文件
self.img_files = []
for file in os.listdir("."):
if file.endswith(".jpg") or file.endswith(".jpeg") or file.endswith(".png"):
self.img_files.append(file)
# 当前图片索引
self.current_index = 0
# 显示图片的Label
self.img_label = Label(self.root)
# 显示图片信息的Label
self.info_label = Label(self.root, text="")
# 显示下一张按钮
self.next_btn = Button(self.root, text="下一张", command=self.show_next)
# 显示上一张按钮
self.prev_btn = Button(self.root, text="上一张", command=self.show_prev)
# 显示界面
self.show_image()
def show_image(self):
# 加载图片
img_path = self.img_files[self.current_index]
img = Image.open(img_path)
img = img.resize((500, 500), Image.ANTIALIAS)
img = ImageTk.PhotoImage(img)
# 显示图片
self.img_label.configure(image=img)
self.img_label.image = img
self.img_label.pack()
# 显示图片信息
self.info_label.configure(text="{} / {}".format(self.current_index + 1, len(self.img_files)))
self.info_label.pack()
# 显示下一张和上一张按钮
self.next_btn.pack(side=RIGHT)
self.prev_btn.pack(side=LEFT)
def show_next(self):
# 切换到下一张图片
self.current_index += 1
if self.current_index >= len(self.img_files):
self.current_index = 0
# 更新界面
self.img_label.pack_forget()
self.info_label.pack_forget()
self.next_btn.pack_forget()
self.prev_btn.pack_forget()
self.show_image()
def show_prev(self):
# 切换到上一张图片
self.current_index -= 1
if self.current_index < 0:
self.current_index = len(self.img_files) - 1
# 更新界面
self.img_label.pack_forget()
self.info_label.pack_forget()
self.next_btn.pack_forget()
self.prev_btn.pack_forget()
self.show_image()
if __name__ == "__main__":
root = Tk()
app = ImageBrowser(root)
root.mainloop()
```
这个程序会在当前目录下查找所有的jpg、jpeg和png格式的图片文件,并以一个简单的界面显示出来。你可以使用上一张和下一张按钮来浏览图片。注意,这个程序使用了Pillow库来加载和处理图片。