当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


wxPython wx.ToolBar GetToolState()用法及代码示例


在本文中,我们将学习与wxPython的wx.ToolBar类关联的GetToolState()函数。 GetToolState()函数获取切换工具的打开/关闭状态。如果打开工具,则返回True,否则返回False。它仅使用toolId作为标识Tool的参数。

用法:
wx.ToolBar.GetToolState(self, toolId)

参数:

参数 输入类型 描述
toolid int 一个整数,可以在随后的操作中标识该工具。

返回类型:

bool

代码示例:



import wx 
  
class Example(wx.Frame):
  
    def __init__(self, *args, **kwargs):
        super(Example, self).__init__(*args, **kwargs) 
  
        self.InitUI() 
  
    def InitUI(self):
  
        self.count = 5
        self.locale = wx.Locale(wx.LANGUAGE_ENGLISH) 
        self.toolbar = self.CreateToolBar() 
        tundo = self.toolbar.AddTool(wx.ID_UNDO, '', wx.Bitmap('right.png')) 
        tredo = self.toolbar.AddTool(wx.ID_REDO, '', wx.Bitmap('wrong.png')) 
        self.toolbar.EnableTool(wx.ID_REDO, False) 
        self.toolbar.AddSeparator() 
        self.toolbar.Realize() 
        self.txt = wx.StaticText(self, 121, "Enabled") 
        self.Bind(wx.EVT_TOOL, self.OnUndo, tundo) 
        self.Bind(wx.EVT_TOOL, self.OnRedo, tredo) 
  
        self.SetSize((350, 250)) 
        self.SetTitle('Undo redo') 
        self.Centre() 
  
    def OnUndo(self, e):
        if(self.toolbar.GetToolState(wx.ID_UNDO)== True):
            self.txt.SetLabel("Enabled") 
        else:
            self.txt.SetLabel("Disabled") 
  
        if self.count > 1 and self.count <= 5:
            self.count = self.count - 1
  
        if self.count == 1:
            self.toolbar.EnableTool(wx.ID_UNDO, False) 
  
        if self.count == 4:
            self.toolbar.EnableTool(wx.ID_REDO, True) 
  
    def OnRedo(self, e):
        if self.count < 5 and self.count >= 1:
            self.count = self.count + 1
  
        if self.count == 5:
            self.toolbar.EnableTool(wx.ID_REDO, False) 
  
        if self.count == 2:
            self.toolbar.EnableTool(wx.ID_UNDO, True) 
  
  
    def OnQuit(self, e):
        self.Close() 
  
  
def main():
  
    app = wx.App() 
    ex = Example(None) 
    ex.Show() 
    app.MainLoop() 
  
  
if __name__ == '__main__':
    main()

输出:

代码示例2:

import wx 
  
class Example(wx.Frame):
  
    def __init__(self, *args, **kwargs):
        super(Example, self).__init__(*args, **kwargs) 
  
        self.InitUI() 
  
    def InitUI(self):
  
        self.count = 5
        self.locale = wx.Locale(wx.LANGUAGE_ENGLISH) 
        self.toolbar = self.CreateToolBar() 
        tundo = self.toolbar.AddTool(wx.ID_UNDO, '', wx.Bitmap('right.png')) 
        tredo = self.toolbar.AddTool(wx.ID_REDO, '', wx.Bitmap('wrong.png')) 
        self.toolbar.EnableTool(wx.ID_REDO, False) 
        self.toolbar.AddSeparator() 
        self.toolbar.Realize() 
        self.txt = wx.StaticText(self, 121, "Enabled") 
        self.Bind(wx.EVT_TOOL, self.OnUndo, tundo) 
        self.Bind(wx.EVT_TOOL, self.OnRedo, tredo) 
  
        self.SetSize((350, 250)) 
        self.SetTitle('Undo redo') 
        self.Centre() 
  
    def OnUndo(self, e):
        if(self.toolbar.GetToolState(wx.ID_UNDO)== True):
            print(True) 
        else:
            print(False) 
  
        if self.count > 1 and self.count <= 5:
            self.count = self.count - 1
  
        if self.count == 1:
            self.toolbar.EnableTool(wx.ID_UNDO, False) 
  
        if self.count == 4:
            self.toolbar.EnableTool(wx.ID_REDO, True) 
  
    def OnRedo(self, e):
        if self.count < 5 and self.count >= 1:
            self.count = self.count + 1
  
        if self.count == 5:
            self.toolbar.EnableTool(wx.ID_REDO, False) 
  
        if self.count == 2:
            self.toolbar.EnableTool(wx.ID_UNDO, True) 
  
  
    def OnQuit(self, e):
        self.Close() 
  
  
def main():
  
    app = wx.App() 
    ex = Example(None) 
    ex.Show() 
    app.MainLoop() 
  
  
if __name__ == '__main__':
    main()

输出:

True
False



相关用法


注:本文由纯净天空筛选整理自RahulSabharwal大神的英文原创作品 wxPython | GetToolState() function in wx.ToolBar。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。