wxpython SplitterWindow panel 刷新后不能正确显示的问题?
迷茫
迷茫 2017-04-17 11:29:32
0
1
327

现在用wxpython 做联系人应用, 希望实现点击左侧联系人列表刷新右侧联系人信息 现在使用了wx.SplitterWindow, ReplaceWindow(winOld, winNew) 现在点击实现了替换,返回了True 。但是替换后不能在右侧显示。 SplitterWindow 部分代码:

class SplitterContacts(wx.SplitterWindow): def __init__(self, parent, ID): wx.SplitterWindow.__init__(self, parent, ID, style = wx.SP_LIVE_UPDATE) self.sp = wx.SplitterWindow(self) self.InitSplitter() def InitSplitter(self): self.SetSize((500, 500)) style = wx.BORDER_SUNKEN with open('contacts.json', 'r') as contacts: contacts = contacts.read() contacts = json.loads(contacts) contact = contacts.values()[0] left_list = wx.Panel(self, style=style) left_list = ListContactsPanel(self, style=style, contacts=contacts) left_list.SetBackgroundColour("sky blue") right_list = ContactDetail(self, style=style, contact=contact) right_list.SetBackgroundColour("pink") self.SetMinimumPaneSize(200) self.SplitVertically(left_list, right_list, -400)

点击响应事件 处理

def OnColClick(self, evt): i = evt.GetIndex() contact = self.contacts.values()[i] left = self.parent.GetWindow1() old = self.parent.GetWindow2() old.SetBackgroundColour("blue") style = wx.BORDER_SUNKEN new = ContactDetail(self, style=style, contact=contact) self.parent.ReplaceWindow(old, new) old.Destroy() new.Show(True)

不知道哪里出了错误! 请教一下 谢谢!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답 (1)
左手右手慢动作

终于发现哪里出现了问题

new = ContactDetail(self, style=style, contact=contact)
这一句应该是 new = ContactDetail(self.parent, style=style, contact=contact)

好尴尬

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!