Can't create a button when clicked?

I have a toolbar. When I click the first button, I was expecting the GUI to create a new button but it didn’t. why?

CODE:

private Rect fsad = new Rect (120, 120, 500,500);

void OnGUI () {
		if (skin != null) {
		GUI.skin = skin;
	}
		GUI.Box(new Rect(0,0,Screen.width,Screen.height),"Pause menu");
		toolbarInt  = GUI.Toolbar (new Rect(0,50, Screen.width,50),toolbarInt, toolbarStrings);
		if (GUI.changed)
		{
			Debug.Log("The toolbar was clicked");

			if (0 == toolbarInt)
			{
				GUI.Button (fsad, "Button");
		
			}
			
			if(1 == toolbarInt){
				Debug.Log("Second button was clicked");
			}
			if(2 == toolbarInt){
				
			}
			if(3 == toolbarInt){
				
			}
		}
	}

The GUI fonction it something that is parsed a number of times per frame.
All that is displayed on screen is what gets parsed last before rendering on screen.

In your case, GUI.changed will only return true once, at the moment your GUI has changed. And revert back to false afterwards.
So your new button will only be parsed and displayed on screen (if at all) for one frame.

under the GUI.changed, you should change a variable.

and use that variable to show the new button or not. But not have the button under GUI.changed.

    if (GUI.changed)
    {
         Debug.Log("The toolbar was clicked");
 
         if (0 == toolbarInt)
         {
             showNewButton = true;
 
         }
    }

    if(showNewButton)
    {
        if(GUI.Button(...))
    }