我以书面形式与Skype整合了聊天程序的进程上TextCtrl。我完成了大部分的工作,但是我在wxPython中的Notebook控制中遇到了问题。我想在用户发送一条消息时在笔记本上创建一个新选项卡,但我遇到的问题是如何在选项卡的面板上引用TextCtrl?以下是我从网上取得的一个不同项目的代码:试图让wxPython的面板来改变另一个面板
import wx
class Page(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
t = wx.StaticText(self, -1, "THIS IS A PAGE OBJECT", (20,20))
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Notebook Remove Pages Example")
pannel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox = wx.BoxSizer(wx.HORIZONTAL)
self.buttonRemove = wx.Button(pannel, id=wx.ID_ANY, label="DELETE", size=(80, 25))
self.buttonRemove.Bind(wx.EVT_BUTTON, self.onButtonRemove)
hbox.Add(self.buttonRemove)
self.buttonInsert = wx.Button(pannel, id=wx.ID_ANY, label="CREATE", size=(80, 25))
self.buttonInsert.Bind(wx.EVT_BUTTON, self.onButtonInsert)
hbox.Add(self.buttonInsert)
self.buttonMessage = wx.Button(pannel, id=wx.ID_ANY, label="Message", size=(80, 25))
self.buttonMessage.Bind(wx.EVT_BUTTON, self.onButtonMessage)
hbox.Add(self.buttonList)
vbox.Add(hbox)
self.Notebook3 = wx.Notebook(pannel)
vbox.Add(self.Notebook3, 2, flag=wx.EXPAND)
pannel.SetSizer(vbox)
self.pageCounter = 0
self.addPage()
def addPage(self):
self.pageCounter += 1
page = Page(self.Notebook3)
pageTitle = "Page: {0}".format(str(self.pageCounter))
self.Notebook3.AddPage(page, pageTitle)
def onButtonRemove(self, event):
page_to_delete = self.Notebook3.GetSelection()
self.Notebook3.DeletePage(page_to_delete)
def onButtonInsert(self, event):
self.addPage()
def onButtonMessage(self, event):
self.Notebook3.StaticText(0).AppendText("Yeah right. Like this works")
if __name__ == "__main__":
app = wx.App()
MainFrame().Show()
app.MainLoop()
我似乎无法把它放在一起很正确。任何帮助表示赞赏。
这工作完美。非常感谢!! – dannyburrows 2013-04-05 20:01:47