Python - Create multiple toolbars in wxPython
Last Updated :
30 Sep, 2021
Improve
As we created a single toolbar in our previous article we are now going to learn how can we create multiple toolbars in wxPython. So we are going to create two toolbars and add tools to both of them.
Steps :
1. Create a vertical sizer.
2. Create first toolbar.
3. Add tools to first toolbar.
2. Create second toolbar.
3. Add tools to second toolbar.
4. Associate toolbars with sizer.
Code Example :
create two toolbars
import wx
class Example(wx.Frame):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
vbox = wx.BoxSizer(wx.VERTICAL)
toolbar1 = wx.ToolBar(self)
toolbar1.AddTool(wx.ID_ANY, '', wx.Bitmap('/Desktop/wxPython/signs.png'))
toolbar1.AddTool(wx.ID_ANY, '', wx.Bitmap('/Desktop/wxPython/login.png'))
toolbar1.Realize()
toolbar2 = wx.ToolBar(self)
qtool = toolbar2.AddTool(wx.ID_EXIT, '', wx.Bitmap('/Desktop/wxPython/password.png'))
toolbar2.Realize()
vbox.Add(toolbar1, 0, wx.EXPAND)
vbox.Add(toolbar2, 0, wx.EXPAND)
self.Bind(wx.EVT_TOOL, self.OnQuit, qtool)
self.SetSizer(vbox)
self.SetSize((600, 4000))
self.SetTitle('Multiple Toolbars')
self.Centre()
def OnQuit(self, e):
self.Close()
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
49
1
import wx
2
3
4
class Example(wx.Frame):
5
6
def __init__(self, *args, **kwargs):
7
super(Example, self).__init__(*args, **kwargs)
8
9
self.InitUI()
10
11
def InitUI(self):
12
13
vbox = wx.BoxSizer(wx.VERTICAL)
14
15
toolbar1 = wx.ToolBar(self)
16
toolbar1.AddTool(wx.ID_ANY, '', wx.Bitmap('/Desktop/wxPython/signs.png'))
17
toolbar1.AddTool(wx.ID_ANY, '', wx.Bitmap('/Desktop/wxPython/login.png'))
18
19
toolbar1.Realize()
20
21
toolbar2 = wx.ToolBar(self)
22
qtool = toolbar2.AddTool(wx.ID_EXIT, '', wx.Bitmap('/Desktop/wxPython/password.png'))
23
toolbar2.Realize()
24
25
vbox.Add(toolbar1, 0, wx.EXPAND)
26
vbox.Add(toolbar2, 0, wx.EXPAND)
27
28
self.Bind(wx.EVT_TOOL, self.OnQuit, qtool)
29
30
self.SetSizer(vbox)
31
32
self.SetSize((600, 4000))
33
self.SetTitle('Multiple Toolbars')
34
self.Centre()
35
36
def OnQuit(self, e):
37
self.Close()
38
39
40
def main():
41
42
app = wx.App()
43
ex = Example(None)
44
ex.Show()
45
app.MainLoop()
46
47
48
if __name__ == '__main__':
49
main()
Output :
