In this article we are going to learn about GetToolState() function associated with wx.ToolBar class of wxPython. GetToolState() function gets the on/off state of a toggle tool. It returns True if the tool is toggled on, False otherwise. It takes only toolId as a parameter to identify Tool.
Syntax:
wx.ToolBar.GetToolState(self, toolId)Parameter :
Parameter Input Type Description toolid int An integer by which the tool may be identified in subsequent operations. Return Type:
bool
Code Example:
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() |
Output:
Code Example 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() |
Output:
True False