wxPython - 侧工具栏
wxPython - A side toolbar
我们都知道 wxPython 工具栏即使不总是放在顶部,但大多数时候都是如此。但是有没有办法把它放在一边(最好是左边)?有没有办法将此代码(取自 here)的顶部工具栏变成侧面工具栏:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
ZetCode wxPython tutorial
This example creates a simple toolbar.
author: Jan Bodnar
website: www.zetcode.com
last modified: April 2018
"""
import wx
class Example(wx.Frame):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
toolbar = self.CreateToolBar()
qtool = toolbar.AddTool(wx.ID_ANY, 'Quit', wx.Bitmap('texit.png'))
toolbar.Realize()
self.Bind(wx.EVT_TOOL, self.OnQuit, qtool)
self.SetSize((350, 250))
self.SetTitle('Simple toolbar')
self.Centre()
def OnQuit(self, e):
self.Close()
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
利用工具栏 Style
属性。
import wx
class Example(wx.Frame):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
toolbar = self.CreateToolBar(wx.TB_VERTICAL|wx.TB_TEXT)
atool = toolbar.AddTool(wx.ID_ANY, 'Tool_A', wx.Bitmap('stop.png'))
btool = toolbar.AddTool(wx.ID_ANY, 'Tool_B', wx.Bitmap('stop.png'))
ctool = toolbar.AddTool(wx.ID_ANY, 'Quit', wx.Bitmap('stop.png'))
toolbar.Realize()
self.Bind(wx.EVT_TOOL, self.OnQuit, ctool)
self.SetSize((350, 250))
self.SetTitle('Simple toolbar')
self.Centre()
def OnQuit(self, e):
self.Close()
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
可用样式:
- wx.TB_FLAT:使工具栏看起来更平坦(Windows 和 GTK)。
- wx.TB_DOCKABLE:使工具栏可浮动和可停靠(仅限 GTK)。
- wx.TB_HORIZONTAL:指定水平布局(默认)。
- wx.TB_VERTICAL: 指定垂直布局。
- wx.TB_TEXT:显示工具栏按钮中的文字;默认情况下只显示图标。
- wx.TB_NOICONS:指定工具栏按钮中没有图标;默认显示它们。
- wx.TB_NODIVIDER: 指定工具栏上方没有分隔符(边框)(仅限Windows)
- wx.TB_NOALIGN:指定不与父window对齐(仅Windows,不是很有用)。
- wx.TB_HORZ_LAYOUT:在旁边显示文本和图标,而不是垂直堆叠(仅限 Windows 和 GTK 2)。此样式必须与 TB_TEXT 一起使用。
- wx.TB_HORZ_TEXT:TB_HORZ_LAYOUT 和 TB_TEXT 的组合。
- wx.TB_NO_TOOLTIPS: 当鼠标悬停在工具上时,不显示工具的简短帮助工具提示。
- wx.TB_BOTTOM: 对齐parent底部的toolbar window.
- wx.TB_RIGHT: 将工具栏对齐父window.
的右侧
- wx.TB_DEFAULT_STYLE:TB_HORIZONTAL 和 TB_FLAT 的组合。这种风格是wxWidgets 2.9.5以来的新风格。
我们都知道 wxPython 工具栏即使不总是放在顶部,但大多数时候都是如此。但是有没有办法把它放在一边(最好是左边)?有没有办法将此代码(取自 here)的顶部工具栏变成侧面工具栏:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
ZetCode wxPython tutorial
This example creates a simple toolbar.
author: Jan Bodnar
website: www.zetcode.com
last modified: April 2018
"""
import wx
class Example(wx.Frame):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
toolbar = self.CreateToolBar()
qtool = toolbar.AddTool(wx.ID_ANY, 'Quit', wx.Bitmap('texit.png'))
toolbar.Realize()
self.Bind(wx.EVT_TOOL, self.OnQuit, qtool)
self.SetSize((350, 250))
self.SetTitle('Simple toolbar')
self.Centre()
def OnQuit(self, e):
self.Close()
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
利用工具栏 Style
属性。
import wx
class Example(wx.Frame):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
toolbar = self.CreateToolBar(wx.TB_VERTICAL|wx.TB_TEXT)
atool = toolbar.AddTool(wx.ID_ANY, 'Tool_A', wx.Bitmap('stop.png'))
btool = toolbar.AddTool(wx.ID_ANY, 'Tool_B', wx.Bitmap('stop.png'))
ctool = toolbar.AddTool(wx.ID_ANY, 'Quit', wx.Bitmap('stop.png'))
toolbar.Realize()
self.Bind(wx.EVT_TOOL, self.OnQuit, ctool)
self.SetSize((350, 250))
self.SetTitle('Simple toolbar')
self.Centre()
def OnQuit(self, e):
self.Close()
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
可用样式:
- wx.TB_FLAT:使工具栏看起来更平坦(Windows 和 GTK)。
- wx.TB_DOCKABLE:使工具栏可浮动和可停靠(仅限 GTK)。
- wx.TB_HORIZONTAL:指定水平布局(默认)。
- wx.TB_VERTICAL: 指定垂直布局。
- wx.TB_TEXT:显示工具栏按钮中的文字;默认情况下只显示图标。
- wx.TB_NOICONS:指定工具栏按钮中没有图标;默认显示它们。
- wx.TB_NODIVIDER: 指定工具栏上方没有分隔符(边框)(仅限Windows)
- wx.TB_NOALIGN:指定不与父window对齐(仅Windows,不是很有用)。
- wx.TB_HORZ_LAYOUT:在旁边显示文本和图标,而不是垂直堆叠(仅限 Windows 和 GTK 2)。此样式必须与 TB_TEXT 一起使用。
- wx.TB_HORZ_TEXT:TB_HORZ_LAYOUT 和 TB_TEXT 的组合。
- wx.TB_NO_TOOLTIPS: 当鼠标悬停在工具上时,不显示工具的简短帮助工具提示。
- wx.TB_BOTTOM: 对齐parent底部的toolbar window.
- wx.TB_RIGHT: 将工具栏对齐父window. 的右侧
- wx.TB_DEFAULT_STYLE:TB_HORIZONTAL 和 TB_FLAT 的组合。这种风格是wxWidgets 2.9.5以来的新风格。