4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Macでgo-qmlの環境構築からHello Worldの表示まで

Last updated at Posted at 2015-12-27

Goとキュートな日々 | Macでgo-qmlの環境構築からHello Worldの表示まで」からの転載。

環境

  • OS X EI Capitan バージョン10.11.2

  • go version go1.5.2 darwin/amd64

go-qml/qml · GitHub を参考にシェルを開き、以下を実行してみる。

$ go get gopkg.in/qml.v1

そしたら、以下のように怒られた。

# pkg-config --cflags Qt5Core Qt5Widgets Qt5Quick
pkg-config: exec: "pkg-config": executable file not found in $PATH

よく読むとgo-qml/qml · GitHubの下の方にRequirements on Mac OS Xの項目があったので読んでみる。

HomebrewにアクセスしてHomebrewをインストールし、qt5とpkg-configをインストールする必要があるらしい。
Homebrewインストール後以下のコマンドを実行する。

$ brew install qt5 pkg-config

無事インストールが終わったのでqt5を有効にする。

$ brew link --force qt5

再度以下を実行

$ go get gopkg.in/qml.v1

うまく通ったみたい。

qml - GoDocを見ながらポチポチコードを打ち込んでみる。

goのソースコードは以下。

goqml.go
package main
import (
	"gopkg.in/qml.v1"
	"fmt"
)

func main() {
	err := qml.Run(run)
	if nil != err {
		fmt.Println(err)
	}
}

func run() error {
	engine := qml.NewEngine()
	component, err := engine.LoadFile("goqml.qml")
	if err != nil {
		return err
	}
	win := component.CreateWindow(nil)
	win.Show()
	win.Wait()
	return nil			
}

qmlはQML Tutorial 1 - Basic Types | Qt Quick 5.5から持ってきた。

goqml.qml
import QtQuick 2.0

Rectangle {
    id: page
    width: 320; height: 480
    color: "lightgray"

    Text {
        id: helloText
        text: "Hello world!"
        y: 30
        anchors.horizontalCenter: page.horizontalCenter
        font.pointSize: 24; font.bold: true
    }
}

go run goqml.goを実行すると以下のウインドウが開く。ちゃんと動いているっぽい。
screenShot.png

以上です。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?