概要
QlovaSeedというクロスプラットフォームフレームワークを使ってデスクトップアプリを作ってみます。
環境
OS: Windows [Version 10.0.18362.720]
Go: go1.13.8 windows/amd64
準備
1. プロジェクト作成
まず、プロジェクトを以下の手順で作成します。1
mkdir hello-world
go mod init hello-world
2. go.modを編集
QlovaSeedをそのままgo get
するとblackfriday/v2
が取得できないので、以下のようにgo.mod
を編集して解決します。2
module hello-world
go 1.13
require (
// …
//追加!!
gopkg.in/russross/blackfriday.v2 v2.0.1
)
//追加!!
replace gopkg.in/russross/blackfriday.v2 => github.com/russross/blackfriday/v2 v2.0.1
3. QlovaSeedライブラリを入れる
下記コマンドをターミナルに入力し、ライブラリを取得します。
go get github.com/qlova/seed
4. アプリ本体のコードを書く
最後にコードを書いていきます。
まず、seed.NewApp(string)
でアプリを作成します。
次に、スペースを配置するためにexpander.AddTo(App)
を配置します。これは、他にものが存在しない限り広がります。これを複数組み合わせることによって、テキストなどを任意の場所に配置できます。以下の例ではウインドウの縦における 3/1, 3/2 のところにテキストを配置しています。
スペースを配置したらtext.AddTo(App, string)
でtextを配置します。この定義したtextに対して何も装飾などを行わない場合はこのまま記述するだけですが、そうでない場合はText := Text.AddTo(App, string)
と結果を変数に代入することであとから装飾をすることができます。下記の例ではText.SetColor(seed.RGB(116, 196, 133))
とすることで色を付けています。
最後に、App.Launch()
とすることでアプリを立ち上げます。
package main
import (
"github.com/qlova/seed"
"github.com/qlova/seeds/text"
"github.com/qlova/seeds/expander"
)
func main() {
//アプリを作成
var App = seed.NewApp("Hello World")
expander.AddTo(App) //スペース
text.AddTo(App, "Hello World!") //テキストを配置
expander.AddTo(App)
Text := text.AddTo(App, "Hello QlovaSeed!") //テキストを配置後Textに代入
Text.SetColor(seed.RGB(116,196,133)) //Textに色を設定
expander.AddTo(App)
//アプリを起動
App.Launch()
}
5. ビルドして、HelloWorld!
go run main.go
を打つと、ウインドウが立ち上がります!
最後に
作る時はGithub上のexampleが結構参考になると思います。3