Skip to content

Instantly share code, notes, and snippets.

@RyanHope
Created October 24, 2018 14:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RyanHope/cdda5899785c1a7e0e5df2fe137a86ae to your computer and use it in GitHub Desktop.
Save RyanHope/cdda5899785c1a7e0e5df2fe137a86ae to your computer and use it in GitHub Desktop.
wxPython broken notebook on Linux/Gtk3
import wx
class Tab1(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.l = wx.StaticText(self, label="Text")
self.sizer = wx.GridBagSizer(0,0)
self.sizer.Add(self.l, pos=(0,0))
self.SetSizer(self.sizer)
class Tab2(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.mode = wx.RadioBox(self, label="Mode", choices=["1","2","3"])
self.sizer = wx.GridBagSizer(0,0)
self.sizer.Add(self.mode, pos=(0,0), span=(1,6), flag=wx.ALL|wx.ALIGN_CENTER, border=20)
self.SetSizer(self.sizer)
class BadTab(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="BadTab", size=(300,200), style=wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX))
self.panel = wx.Panel(self)
self.notebook = wx.Notebook(self.panel)
self.tab1 = Tab1(self.notebook)
self.tab2 = Tab2(self.notebook)
self.notebook.AddPage(self.tab1, "Tab 1")
self.notebook.AddPage(self.tab2, "Tab 2")
mainbox = wx.BoxSizer(wx.VERTICAL)
mainbox.Add(self.notebook, 1, wx.EXPAND | wx.ALL, 10)
self.notebook.Layout()
self.panel.SetSizer(mainbox)
self.panel.Layout()
self.Centre()
self.Show()
app = wx.App()
gui = BadTab()
app.MainLoop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment