Child Menu – Fyne GUI Golang tutorial 37
Child Menu – Fyne GUI Golang tutorial 37
Source Code
<div>
<div>package main</div>
<div>// import fyne</div>
<div>import (</div>
<div> "fyne.io/fyne/v2"</div>
<div> "fyne.io/fyne/v2/app"</div>
<div>)</div>
<div>func main() {</div>
<div> // new app</div>
<div> a := app.New()</div>
<div> // title of app</div>
<div> w := a.NewWindow("Child Menu")</div>
<div> // resize window</div>
<div> w.Resize(fyne.NewSize(400, 400))</div>
<div> // new menu items</div>
<div> //first parameter is label, 2nd is function</div>
<div> item1 := fyne.NewMenuItem("edit", nil)</div>
<div> item2 := fyne.NewMenuItem("details", nil)</div>
<div> item3 := fyne.NewMenuItem("home", nil)</div>
<div> item4 := fyne.NewMenuItem("run", nil)</div>
<div> // child menu</div>
<div> item1.ChildMenu = fyne.NewMenu(</div>
<div> "", // leave label blank</div>
<div> fyne.NewMenuItem("copy", nil), // child menu items</div>
<div> fyne.NewMenuItem("cut", nil),</div>
<div> fyne.NewMenuItem("paste", nil),</div>
<div> )</div>
<div> // create child menu for 2nd item</div>
<div> item2.ChildMenu = fyne.NewMenu(</div>
<div> "", // leave label blank</div>
<div> fyne.NewMenuItem("books", nil), // child menu items</div>
<div> fyne.NewMenuItem("magzine", nil),</div>
<div> fyne.NewMenuItem("notebook", nil),</div>
<div> )</div>
<div> // create child menu for third item</div>
<div> item3.ChildMenu = fyne.NewMenu(</div>
<div> "", // leave label blank</div>
<div> fyne.NewMenuItem("school", nil), // child menu items</div>
<div> fyne.NewMenuItem("college", nil),</div>
<div> fyne.NewMenuItem("university", nil),</div>
<div> )</div>
<div> NewMenu1 := fyne.NewMenu("File", item1, item2, item3, item4)</div>
<div> NewMenu2 := fyne.NewMenu("Help", item1, item2, item3, item4)</div>
<div> // main menu</div>
<div> menu := fyne.NewMainMenu(NewMenu1, NewMenu2)</div>
<div> // setup menu</div>
<div> w.SetMainMenu(menu) /// we are done :)</div>
<div> // show and run</div>
<div> w.ShowAndRun()</div>
<div>}</div>
</div>