Go言語/Fyne:最初のステップ(ウィンドウ表示の基本)
2021/10/22
Go言語でのGUIアプリ開発としてFyneを突き詰めてみようと思っています。過去に何回か記事にしてきましたが、今回からシリーズ化させていろいろなウィジェットやコンポーネントの使い方を紹介していこうと思った次第です。
今回はファーストステップとして、公式サイトに載っているサンプルをコピペして実行までを紹介します。Fyneはすでにインストールされているものとします。
Fyne公式サイトからサンプルをゲットする
最初のステップとして以下のリンクから公式サイトを確認しましょう。ページ右上の「DOCS」をクリックします。
以下のページに飛びます。その中から「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の基本を抑えられたかと思います。
スポンサーリンク






