非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

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()
}
 

 

 

スポンサーリンク

 - Fyne, Go言語