Window Handling
Windows are created using App.NewWindow()
and need to be shown using
the Show()
function. The helper method ShowAndRun()
on fyne.Window
allows you to show your window and run the application at the same time.
If you wish to show a second window you must only call the Show()
function. This is illustrated in the showAnother
function.
By default a window will be the right size to show its content
by checking the MinSize()
function (more on that in later examples).
You can set a larger size by calling the Window.Resize()
function.
Be aware that the desktop environment may have constraints that cause windows to be smaller than requested.
Example Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 package main import ( "time" "fyne.io/fyne" "fyne.io/fyne/app" "fyne.io/fyne/widget" ) func main() { myApp := app.New() myWindow := myApp.NewWindow("Hello") myWindow.SetContent(widget.NewLabel("Hello")) go showAnother(myApp) myWindow.ShowAndRun() } func showAnother(a fyne.App) { time.Sleep(time.Second * 5) win := a.NewWindow("Shown later") win.SetContent(widget.NewLabel("5 seconds later")) win.Resize(fyne.NewSize(200, 200)) win.Show() time.Sleep(time.Second * 2) win.Hide() }