【发布时间】:2020-11-18 16:02:42
【问题描述】:
在这里,我怀疑当时单击笔记本选项卡时,只有它应该在该选项卡中加载类。但是在 wxpython 中,默认情况下所有类都加载到选项卡中,所以我如何在单击选项卡时设置条件来加载类。 这是一个小例子。
import wx
class tabclass(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
t = wx.StaticText(self, -1, "This is the help tab", (20,20))
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="notebook")
mainPanel = wx.Panel(self,size=(1365, 700), pos=(0, 71), style=wx.DOUBLE_BORDER)
self.nb = wx.Notebook(mainPanel,size=(1365, 700))
tab0 = tabclass(self.nb)
self.nb.AddPage(tab0, "Tab One")
if __name__ == "__main__":
app = wx.App()
MainFrame().Show()
app.MainLoop()
这里我想在单击选项卡时显示静态文本,否则类不应该加载。
【问题讨论】:
-
@mihrbhatt,为什么?事情不是这样运作的。只需加载选项卡布局不需要任何资源。因为只要您调用
AddPage(),页面就会添加到笔记本中,并且页面上的每个控件都会创建。你当然可以捕捉到换页事件,但是当用户切换到不同的页面时你会怎么做呢?你只会浪费一切——处理器时间、执行时间和资源 -
我很感激,但是当我希望 gui 加载得更快时,单击选项卡时应该如何加载类?
-
@mihrbhatt,您不会获得任何加载速度。事实上,您的程序可能会按照您希望它的行为方式减慢速度。
标签: python-3.x wxwidgets wxpython