在本文中,我们将介绍如何使用 Python创建一个简单的 GUI 应用程序,该程序允许用户选择保存路径、创建文件夹、输入 HTML 代码并将其保存为 HTML 文件。我们还将添加保存和加载设置的功能,使得用户可以在不同的会话之间保持配置。
C:\pythoncode\new\htmlcodesavetolocalfile.py
结果如下
全部代码
import wx
import os
import xml.etree.ElementTree as ET
import datetime
class MyApp(wx.App):
def OnInit(self):
self.frame = MyFrame(None, title="HTML File Generator")
self.frame.Show()
return True
class MyFrame(wx.Frame):
def __init__(self, parent, title):
super().__init__(parent, title=title, size=(600, 400))
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
# Path selection
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
self.path_txt = wx.TextCtrl(panel)
path_btn = wx.Button(panel, label="选择")
path_btn.Bind(wx.EVT_BUTTON, self.on_select_path)
hbox1.Add(self.path_txt, proportion=1, flag=wx.EXPAND|wx.ALL, border=5)
hbox1.Add(path_btn, flag=wx.EXPAND|wx.ALL, border=5)
# Folder name input
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
self.folder_txt = wx.TextCtrl(panel, style=wx.TE_CENTER)
create_folder_btn = wx.Button(panel, label="创建")
create_folder_btn.Bind(wx.EVT_BUTTON, self.on_create_folder)
hbox2.Add(self.folder_txt, proportion=1, flag=wx.EXPAND|wx.ALL, border=5)
hbox2.Add(create_folder_btn, flag=wx.EXPAND|wx.ALL, border=5)
# HTML code input
hbox3 = wx.BoxSizer(wx.HORIZONTAL)
self.html_txt = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
hbox3.Add(self.html_txt, proportion=1, flag=wx.EXPAND|wx.ALL, border=5)
# HTML file name input
hbox4 = wx.BoxSizer(wx.HORIZONTAL)
self.html_filename_txt = wx.TextCtrl(panel, style=wx.TE_CENTER)
save_html_btn = wx.Button(panel, label="保存")
save_html_btn.Bind(wx.EVT_BUTTON, self.on_save_html)
hbox4.Add(self.html_filename_txt, proportion=1, flag=wx.EXPAND|wx.ALL, border=5)
hbox4.Add(save_html_btn, flag=wx.EXPAND|wx.ALL, border=5)
# Batch record selection
hbox5 = wx.BoxSizer(wx.HORIZONTAL)
self.batch_choice = wx.Choice(panel)
load_batch_btn = wx.Button(panel, label="加载记录")
load_batch_btn.Bind(wx.EVT_BUTTON, self.on_load_batch)
hbox5.Add(self.batch_choice, proportion=1, flag=wx.EXPAND|wx.ALL, border=5)
hbox5.Add(load_batch_btn, flag=wx.EXPAND|wx.ALL, border=5)
# Save settings button
hbox6 = wx.BoxSizer(wx.HORIZONTAL)
save_settings_btn = wx.Button(panel, label="保存设置")
save_settings_btn.Bind(wx.EVT_BUTTON, self.on_save_settings)
hbox6.Add(save_settings_btn, flag