#!/usr/bin/python #-*-coding:utf-8-*- import wx import time #定义了配置文件的名字 config_filename = "xxx" class PanelOne(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent) self.SetBackgroundColour(wx.RED); class PanelTwo(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent) txt = wx.StaticText(self,label="Panel Two \n xxxxxxx") self.SetBackgroundColour(wx.GREEN); class MainFrame(wx.Frame): def __init__(self, title): """Constructor""" wx.Frame.__init__(self, None, title=title, size=(400, 400)) self.panelOne = PanelOne(self) ##创建一个按钮,并且绑定回调函数 loadButton = wx.Button(self.panelOne, label='Open') loadButton.Bind(wx.EVT_BUTTON, self.load) ##创建一个输入文本框,并设置里面的内容 filename = wx.TextCtrl(self.panelOne) config_file = open(config_filename, 'r') repo_path = config_file.read() ##得到repo的路径 repo_path = repo_path[0:len(repo_path)-1] #去掉最后的回车换行符 filename.WriteText(repo_path); #将读出来的内容显示出来 config_file.close() self.vbox = wx.BoxSizer(wx.VERTICAL) self.vbox.Add(filename, proportion=0, flag=wx.EXPAND) self.vbox.Add(loadButton, proportion=1, flag=wx.EXPAND, border=5) self.panelOne.SetSizer(self.vbox) def load(self, event): print "Loading..." self.panelOne.Destroy() self.panelTwo = PanelTwo(self) self.vbox= wx.BoxSizer(wx.VERTICAL) self.vbox.Add(self.panelTwo, proportion=0, flag=wx.EXPAND) self.SetSizer(self.vbox) self.Layout() if __name__ == "__main__": app = wx.App() win = MainFrame("xxx") #win = wx.Frame(None, title="xxx", size=(410, 335)) win.Show() app.MainLoop()
panel的建立与销毁
vbox容器
Layout刷新