2011-09-24 3 views
0

wx 위젯을 처음 사용합니다. 특정 조건에 따라 특정 단추를 표시해야하는 GUI를 만들려고합니다. 문제는 그것이 Frame.show() 다음에이 새로운 버튼을 만들 때입니다. 버튼이 있어야하는 곳으로 마우스를 가져갈 때까지 버튼이 보이지 않습니다. Frame.Refresh() 시도했지만 작동하지 않습니다.WxPython 버튼을 표시 할 프레임 업데이트

self.button = wx.Button(panel, 1, 'Delete', (230, 120)) 
self.Bind(wx.EVT_BUTTON, self.delSong, self.button) 
self.button2 = wx.Button(panel, 3, 'Refresh', (130, 120)) 
self.Bind(wx.EVT_BUTTON, self.shelving, self.button2) 
self.button.Disable() 
self.button2.Enable() 
self.button3 = wx.Button(panel, 1, 'Exit', (230, 120)) 
self.Bind(wx.EVT_BUTTON, self.close, self.button3) 
self.button3.Hide() 
self.Show() 

try: 
    fooo 
except KeyError: 
    self.button.Destroy() 
    self.button3.Show() 

여기에서 수행하려는 작업은 버튼을 제거하고 버튼 3을 표시하는 것입니다. 그러나 예외의 경우에는 button3이 프레임에 표시되지 않습니다. 프레임을 새로 고치는 다른 것이 있습니까?

답변

0

프레임의 Layout() 메소드를 호출하면됩니다. 그것이 위젯을 삽입하거나 제거 할 때하는 일입니다. 또한 자동 크기 조정 및 위치 지정을 할 때 매우 편리하므로 sizer를 배우는 것이 좋습니다.