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

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

Go言語/Fyne:最初のステップ(ウィンドウ表示の基本)

      2021/10/22

Go言語でのGUIアプリ開発としてFyneを突き詰めてみようと思っています。過去に何回か記事にしてきましたが、今回からシリーズ化させていろいろなウィジェットやコンポーネントの使い方を紹介していこうと思った次第です。

今回はファーストステップとして、公式サイトに載っているサンプルをコピペして実行までを紹介します。Fyneはすでにインストールされているものとします。

 

Fyne公式サイトからサンプルをゲットする

最初のステップとして以下のリンクから公式サイトを確認しましょう。ページ右上の「DOCS」をクリックします。

https://fyne.io/

 

以下のページに飛びます。その中から「Get Started」をクリックしましょう。

 

 

左サイドメニューの「Your First App」をクリックすると、ソースコードが現れます。これをコピーして自分のエディタに貼り付けます。ファイル名は任意ですがとりあえず「fyne01.go」としました。

 

Fyneのインストールとサンプルコードの実行

ソースコードを保存したディレクトリ上で以下のコマンドを打つことでFyneの必要パッケージをインストールしてくれます。go mod とはGoモジュールといってパッケージを依存モジュール管理ツールです。詳しくはこちらをご覧ください

$ go mod init Fyne01
$ go mod tidy
 

 

コマンドを打つと以下のように必要パッケージがインストールされます。

 

「go.mod」と「go.sum」というファイルが加わりました。これで準備完了です。

 

以下のコマンドで実行しましょう。

$ go run fyne01.go
 

 

以下のようなウィンドウが現れたら成功です。

ソースコードを少しいじってみる

これだけではつまらないので、ソースコードを少しいじってみましょう。コメントアウトで(追加)と書かれている2行分を加えました。1つはテーマをダークモードからライトモードにしたもの。もう1つはウィンドウサイズを大きくするコードです。それに加えてimport文に2行追加します。

package main

import (
  "fyne.io/fyne/v2"  //追加
  "fyne.io/fyne/v2/theme" //追加 
  "fyne.io/fyne/v2/app"
  "fyne.io/fyne/v2/container"
  "fyne.io/fyne/v2/widget"
)

func main() {
  a := app.New()
  w := a.NewWindow("Hello")
  //(追加)ライトテーマにする
  a.Settings().SetTheme(theme.LightTheme())
  //(追加)ウィンドウサイズの設定
  w.Resize(fyne.NewSize(600, 400))

  hello := widget.NewLabel("Hello Fyne!")
  w.SetContent(container.NewVBox(
    hello,
    widget.NewButton("Hi!", func() {
      hello.SetText("Welcome :)")
    }),
  ))

  w.ShowAndRun()
}
 

 

実行すると以下のようなウィンドウになります。importに加えたパッケージは実行時に自動的にインストールされると思いますが、もしパッケージが足りないとエラーが出た場合は、もう1度 go mod tidy を打ってみてください。

 

 

とりあえず今回はここまで。Fyneの基本を抑えられたかと思います。

 

スポンサーリンク

 - Fyne, Go言語