python做图片浏览器
时间: 2023-10-04 11:08:52 浏览: 134
要实现一个Python图片浏览器,可以使用Python的图形界面库,如Tkinter、PyQt等。以下是一个使用Tkinter实现的简单图片浏览器示例代码:
```python
import os
from tkinter import *
from PIL import ImageTk, Image
class ImageBrowser:
def __init__(self, master):
self.master = master
self.master.title("Python图片浏览器")
self.master.geometry("600x400")
self.image_list = []
self.current_image = 0
self.load_images()
self.canvas = Canvas(self.master, width=600, height=400)
self.canvas.pack()
self.show_image()
prev_button = Button(self.master, text="上一张", command=self.show_prev_image)
prev_button.pack(side=LEFT)
next_button = Button(self.master, text="下一张", command=self.show_next_image)
next_button.pack(side=RIGHT)
def load_images(self):
# 切换到图片所在目录
os.chdir("images")
# 加载所有图片
for file in os.listdir():
if file.endswith(".jpg") or file.endswith(".png"):
self.image_list.append(Image.open(file))
def show_image(self):
# 显示当前图片
image = self.image_list[self.current_image].resize((600, 400))
photo = ImageTk.PhotoImage(image)
self.canvas.create_image(0, 0, anchor=NW, image=photo)
self.canvas.image = photo
def show_prev_image(self):
# 显示上一张图片
self.current_image = (self.current_image - 1) % len(self.image_list)
self.show_image()
def show_next_image(self):
# 显示下一张图片
self.current_image = (self.current_image + 1) % len(self.image_list)
self.show_image()
root = Tk()
app = ImageBrowser(root)
root.mainloop()
```
这个示例程序会在当前目录下的images子目录中加载所有的jpg和png格式图片,并在窗口中显示出来。用户可以通过点击“上一张”和“下一张”按钮来浏览不同的图片。
阅读全文