wxNotebookで表示しているパネルを隠したいとき

wxNotebookを使って、いくつかのパネルをタブ切換えで表示させている。このとき、あるパネルだけ非表示にしたいときがある。そのときは、Hide()を使うことにする。
例えば、下記のコード。

import wx

class MyApp(wx.PySimpleApp):
    def OnInit(self):
        Frm = wx.Frame(None, -1, 'Title', size=(500, 500))
        pnl0 = wx.Panel(Frm, -1, size=(500, 500))
        nb = wx.Notebook(pnl0, -1, style=wx.CLIP_CHILDREN)

        pnl1 = wx.Panel(nb, -1)
        pnl2 = wx.Panel(nb, -1)
        nb.AddPage(pnl1, 'Page 1')
        nb.AddPage(pnl2, 'Page 2')

        pnl1.Hide()  #ここ!

        StTxt1 = wx.StaticText(pnl1, -1, 'Panel 1', pos=(20,30))
        StTxt2 = wx.StaticText(pnl2, -1, 'Panel 2', pos=(20,30))

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(nb, 1, wx.EXPAND)

        pnl0.SetSizer(sizer)

        Frm.Show()
        return 1

app = MyApp()
app.MainLoop()

再び表示させるときは、pnl1.Show()とすればよい。一時的にパネルを隠す場合に利用できる。
以下は、Hide()したときのLinuxでの実行結果。

でも、このコードは、Windowsでは意図したように動いてくれない。パネルが隠れてくれない。パネル上には何も表示されなくなるが...。なぜかは分からない。どうしようもないので、Windowsでは力技。
パネルを「隠す」ときには、

nb.RemovePage(0)

でパネルを消す。パネルを復活させるときには、

nb.AddPage(pnl1, 'Page 1')

で再び加える。でもこれだとパネルの順番を調整する処理が必要になるので、かなり面倒なことになる。
やはり、Hide()で隠れてほしい。