WxPython 的控件,除了有Disable() 和 Enable()方法,还有hide及show方法,在固定位置的布局,Hide 和 Show()工作正常 。
比如这样
import wx
class MyButton(wx.Frame):
flag = True
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title)
panel = wx.Panel(self, -1, size=(300, 250))
self.btn1 = wx.Button(panel, 201, u'设置', pos=(80, 70))
self.Bind(wx.EVT_BUTTON, self.click1, self.btn1)
self.btn2 = wx.Button(panel, 202, u'设置2', pos=(180, 70))
self.Bind(wx.EVT_BUTTON, self.click2, self.btn2)
self.Centre()
self.btn2.Hide()
def click1(self, e):
print("btn1 click!")
if self.flag:
self.btn2.Hide()
self.flag = False
else:
# self.btn2.Disable()
self.btn2.Show()
self.flag = True
def click2(self, e):
print("btn2 click!")
if __name__ == '__main__':
app = wx.App()
frame = MyButton(None,

本文探讨了WxPython中控件的隐藏与显示问题,特别是在使用wx.BoxSizer的EXPAND布局时遇到的错位问题。文章指出,如果在初始化时隐藏控件,会导致布局错乱。为解决此问题,建议在Frame显示完成后,通过调用afterload方法再执行隐藏操作,以确保控件能按预设位置正确显示。
最低0.47元/天 解锁文章
584

被折叠的 条评论
为什么被折叠?



