在本篇博客中,我们将通过一个简单的实例来展示如何使用 wxPython
创建一个图形用户界面(GUI)应用程序,用于将图片从一种格式转换为另一种格式。我们将通过以下几个步骤实现这一目标:
C:\pythoncode\new\imageconverttype.py
- 选择多个
.png
文件。 - 选择目标文件类型(例如,
jpeg
,gif
,png
,bmp
,webp
)。 - 点击“转换”按钮,将选择的文件转换为目标格式。
- 将转换后的文件保存到指定的文件夹中。
全部代码
import wx
import os
from PIL import Image
class ImageConverter(wx.Frame):
def __init__(self, *args, **kw):
super(ImageConverter, self).__init__(*args, **kw)
self.InitUI()
def InitUI(self):
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
# 选择文件按钮
self.files_button = wx.Button(panel, label="选择图片文件")
self.files_button.Bind(wx.EVT_BUTTON, self.on_select_files)
# 显示选择的文件列表
self.files_list = wx.ListBox(panel, size=(400, 150))
# 选择转换后的文件类型
self.target_format_choice = wx.Choice(panel, choices=["JPEG", "GIF", "PNG", "BMP", "WEBP"])
self.target_format_choice.SetSelection(0) # 默认选择JPEG
# 选择保存的文件夹
self.output_folder_button = wx.Button(panel, label="选择保存文件夹")
self.output_folder_button.Bind(wx.EVT_BUTTON, self.on_select_folder)
# 显示选中的保存文件夹路径
self.output_folder_text = wx.TextCtrl(panel, size=(400, 25), style=wx.TE_READONLY)
# 转换按钮
self.convert_button = wx.Button(panel, label="转换")
self.convert_button.Bind(wx.EVT_BUTTON, self.on_convert)
# 布局
vbox.Add(self.files_button, flag=wx.EXPAND | wx.ALL, border=10)
vbox.Add(self.files_list, flag=wx.EXPAND | wx.ALL, border=10)
vbox.Add(self.target_format_choice, flag=wx.EXPAND | wx.ALL, border=10)
vbox.Add(self.output_folder_button, flag=wx.EXPAND | wx.ALL