wxpython实现点击上一张下一张按钮查看文件夹中所有图片文件列表
时间: 2024-02-28 13:57:06 浏览: 117
文件夹下所有图片的读取以及显示(python程序)
5星 · 资源好评率100%
以下是一个基本的 wxPython 实现点击上一张下一张按钮查看文件夹中所有图片文件列表的例子:
```python
import os
import wx
class MyFrame(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title, size=(800, 600))
self.panel = wx.Panel(self)
self.image_list = []
self.current_index = 0
self.image_label = wx.StaticText(self.panel, label="No images found", pos=(350, 280))
self.prev_button = wx.Button(self.panel, label="Previous", pos=(280, 320))
self.Bind(wx.EVT_BUTTON, self.on_prev_button_click, self.prev_button)
self.next_button = wx.Button(self.panel, label="Next", pos=(440, 320))
self.Bind(wx.EVT_BUTTON, self.on_next_button_click, self.next_button)
def load_images(self, directory):
for filename in os.listdir(directory):
if filename.lower().endswith('.jpg') or filename.lower().endswith('.png'):
image_path = os.path.join(directory, filename)
self.image_list.append(image_path)
if len(self.image_list) > 0:
self.show_image(self.current_index)
def show_image(self, index):
image = wx.Image(self.image_list[index], wx.BITMAP_TYPE_ANY)
self.image_label.SetLabel("")
self.image_label.SetBitmap(wx.BitmapFromImage(image))
def on_prev_button_click(self, event):
if self.current_index > 0:
self.current_index -= 1
self.show_image(self.current_index)
def on_next_button_click(self, event):
if self.current_index < len(self.image_list) - 1:
self.current_index += 1
self.show_image(self.current_index)
app = wx.App()
frame = MyFrame(None, "Image Viewer")
frame.load_images("path_to_directory")
frame.Show()
app.MainLoop()
```
这个例子创建了一个窗口,里面包含了一个标签和两个按钮,可以用来查看指定文件夹中的所有图片文件。当点击上一张或下一张按钮时,会显示前一张或后一张图片。
阅读全文