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()
}
スポンサーリンク

