wxPython wx.ToolBar中的InsertControl()函数
在这篇文章中,我们将学习与wxPython的wx.ToolBar类有关的InsertControl()函数。InsertControl()在给定的位置将控件插入到工具栏中。请注意,你必须调用Realize来实现这一变化。
语法:
wx.ToolBar.InsertControl(self, pos, control, label="")
参数。
参数 | 输入类型 | 描述 |
---|---|---|
pos | int | 从0开始插入控件的位置。 |
control | wx.control | 你想插入的控件。 |
label | 字符串 | 控件上要显示的标签。 |
返回类型。
wx.ToolBarToolBase
代码示例1:点击工具栏上的勾选工具,就会插入一个控件。
import wx
class Example(wx.Frame):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
self.toolbar = self.CreateToolBar()
tundo = self.toolbar.AddTool(1, '', wx.Bitmap('right.png'))
tredo = self.toolbar.AddTool(2, '', wx.Bitmap('wrong.png'))
self.toolbar.Realize()
self.Bind(wx.EVT_TOOL, self.OnOne, tundo)
self.SetSize((350, 250))
self.SetTitle('Undo redo')
self.Centre()
def OnOne(self, e):
ctrl = wx.Control(self.toolbar, id = 1, size =(100, -1),
style = 0, name ="control")
# insert control in toolbar at position 2
self.toolbar.InsertControl(pos = 2, control = ctrl, label ="Control")
self.toolbar.Realize()
def OnQuit(self, e):
self.Close()
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
输出:
点击勾选前:
点击勾选后:
代码示例2:点击工具栏上的tick工具,一个控件被插入。
import wx
class Example(wx.Frame):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
self.toolbar = self.CreateToolBar()
tundo = self.toolbar.AddTool(1, '', wx.Bitmap('right.png'))
tredo = self.toolbar.AddTool(2, '', wx.Bitmap('wrong.png'))
self.toolbar.Realize()
self.Bind(wx.EVT_TOOL, self.OnOne, tundo)
self.SetSize((350, 250))
self.SetTitle('Undo redo')
self.Centre()
def OnOne(self, e):
ctrl = wx.Control(self.toolbar, id = 1, size =(100, -1),
style = 0, name ="control")
# insert control in toolbar at position 2
self.toolbar.InsertControl(pos = 0, control = ctrl, label ="Control")
self.toolbar.Realize()
def OnQuit(self, e):
self.Close()
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
输出:
点击勾选前:
点击勾选后: