Go言語GUIライブラリFyneでウィジェットを動的にコントロールする方法
2021/10/22
Go言語用GUIライブラリFyneでウィジェットをコントロールする方法についてです。
Fyneの導入方法はこちらを参照ください。
以下のようにボタンを押すとラベルの内容「Hwllo World!」から「Hwllo Fyne!」が変わります。※ボタンラベルを前回のまま「Quit」にしてしまった。今気づいた。押してもアプリ終了しません。
ソースコードは以下のとおりです。前回と違いボタンイベントの前にラベルオブジェクトを作って、それをイベント時に制御します。
package main import ( "fyne.io/fyne" "fyne.io/fyne/app" "fyne.io/fyne/layout" "fyne.io/fyne/theme" "fyne.io/fyne/widget" ) func main() { app := app.New() app.Settings().SetTheme(theme.LightTheme()) window := app.NewWindow("Hello") label := widget.NewLabel("Hello World!") label.Alignment = fyne.TextAlignCenter btn := widget.NewButton("Quit", func() { label.SetText("Hello Fyne!") }) box := fyne.NewContainerWithLayout( layout.NewBorderLayout(nil, btn, nil, nil), label, btn, ) window.SetContent(box) window.ShowAndRun() }
スポンサーリンク