python 2.7 实现 图片切换,提供输入框,输入本地文件路径
时间: 2023-08-15 13:13:15 浏览: 145
读取input:file的路径并显示本地图片的方法
以下是 Python 2.7 实现图片切换并提供输入框的代码示例:
```python
# coding:utf-8
import os
import Tkinter as tk
from PIL import Image, ImageTk
class ImageSwitcher(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.master.title("图片切换器")
self.pack()
self.create_widgets()
self.image_index = 0
self.images = []
def create_widgets(self):
self.image_label = tk.Label(self)
self.image_label.pack()
self.path_label = tk.Label(self, text="请输入图片路径:")
self.path_label.pack()
self.path_entry = tk.Entry(self)
self.path_entry.pack()
self.load_button = tk.Button(self, text="加载图片", command=self.load_image)
self.load_button.pack()
self.previous_button = tk.Button(self, text="上一张", command=self.previous_image)
self.previous_button.pack(side="left")
self.next_button = tk.Button(self, text="下一张", command=self.next_image)
self.next_button.pack(side="right")
def load_image(self):
path = self.path_entry.get()
if not os.path.exists(path):
tk.messagebox.showwarning("警告", "文件不存在!")
return
try:
image = Image.open(path)
self.images.append(ImageTk.PhotoImage(image))
self.image_label.config(image=self.images[-1])
self.image_index = len(self.images) - 1
except Exception as e:
tk.messagebox.showerror("错误", str(e))
def previous_image(self):
if self.image_index > 0:
self.image_index -= 1
self.image_label.config(image=self.images[self.image_index])
def next_image(self):
if self.image_index < len(self.images) - 1:
self.image_index += 1
self.image_label.config(image=self.images[self.image_index])
if __name__ == "__main__":
app = ImageSwitcher()
app.mainloop()
```
在上面的代码中,我们创建了一个 `ImageSwitcher` 类,继承自 `tk.Frame` 类。该类包含了窗口中的所有组件,包括图片标签、路径标签、路径输入框、加载图片按钮、上一张按钮和下一张按钮。在 `load_image` 方法中,我们首先获取路径输入框中的字符串,并判断该路径是否存在。如果不存在,则弹出一个警告对话框;否则,我们尝试打开该路径对应的图片文件,并将其转换为 `PhotoImage` 对象,存储在 `images` 列表中。同时,我们将图片标签的 `image` 属性设置为最后一个 `PhotoImage` 对象。在 `previous_image` 和 `next_image` 方法中,我们分别减小和增大 `image_index` 变量的值,并更新图片标签的 `image` 属性。
要使用该程序,只需要在命令行中执行 `python image_switcher.py` 命令即可。然后,你就可以在窗口中输入本地文件路径,加载图片并切换图片了。
阅读全文