我有一個有兩頁的平面筆記本。我希望在第1頁上的文本Ctrl中輸入的文本顯示在第2頁上的文本Ctrl中,並按下按鈕。當我添加'self.secondTab = SecondTab(self)'時,我得到另一個文本框疊加在第1頁上,並且文本在按鈕按下時轉移到該框。有一些我錯過的小東西,請幫忙。使用wx.flatnotebook從標籤頁轉換爲標籤頁
import wx
import wx.lib.agw.flatnotebook as fnb
class FirstTab(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, -1)
self.secondTab = SecondTab(self)
sizer = wx.BoxSizer(wx.VERTICAL)
self.txtOne = wx.TextCtrl(self, -1, style=wx.TE_PROCESS_ENTER)
self.btnOne = wx.Button(self, -1, "Transfer text to Tab 2")
self.Bind(wx.EVT_BUTTON, self.sendText, self.btnOne)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.txtOne, 0, wx.ALL, 5)
sizer.Add(self.btnOne, 0, wx.ALL, 5)
self.SetSizer(sizer)
def sendText(self, event):
text = self.txtOne.GetValue()
self.secondTab.txtTwo.WriteText(text)
class SecondTab(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, -1)
self.parent = parent
sizer = wx.BoxSizer(wx.VERTICAL)
self.txtTwo = wx.TextCtrl(self, -1, style=wx.TE_PROCESS_ENTER)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.txtTwo, 0, wx.ALL, 5)
self.SetSizer(sizer)
class Frame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1,"Notebook", size=(300,300))
panel = wx.Panel(self)
notebook = wx.Notebook(panel)
page1 = FirstTab(notebook)
page2 = SecondTab(notebook)
notebook.AddPage(page1, "Tab 1")
notebook.AddPage(page2, "Tab 2")
sizer = wx.BoxSizer()
sizer.Add(notebook, 1, wx.ALL|wx.EXPAND, 5)
panel.SetSizer(sizer)
self.Layout()
if __name__ == "__main__":
app = wx.App()
frame = Frame()
frame.Show()
app.MainLoop()
我不是一個Python程序員,但在我看來,你的'高清sendText(個體經營,事件):'事件應該在'類中定義Frame' – macroland