#!/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刷新