QLabelを使って、時間という言葉を表示してみる。

Go言語でQtのQBoxLayoutを使ってみる

QLabel Class | Qt Widgets 5.11


下記のコードを入力する。

package main

import (
	"os"

	"github.com/therecipe/qt/widgets"
)

func main() {
	app := widgets.NewQApplication(len(os.Args), os.Args)
	window := widgets.NewQMainWindow(nil, 0)
	window.SetMinimumSize2(400, 200)
	window.SetWindowTitle("QLabel")
	
	//QBoxLayoutを利用する
	widget := widgets.NewQWidget(nil, 0)
	boxlayout := widgets.NewQBoxLayout(3, nil)

	//QLabelを作成し、QBoxLayoutに追加する
	label := widgets.NewQLabel2("時間", nil, 0)
	boxlayout.AddWidget(label, 0, 0)

	widget.SetLayout(boxlayout)
	window.SetCentralWidget(widget)

	window.Show()
	app.Exec()
}

実行すると、下記の画面が表示される。QLabelを使うと、下記のように文字だけを画面に表示させることができる。このとき、Qラベルは引数を3つ持つので、boxlayout.AddWidget(label, 0, 0)で、最後の2つの0,0を入力しないとエラーになる。

また、ボックスレイアウトに追加する際は、AddRowではなく、AddWidgetを使う。また、フレームワークを作成した後は、空のウィジェット、空のボックスレイアウトを作成して、そこにラベルなどのウェジェットを追加していく方が後がスムーズにいくことがわかった。

AddRowについての記載:Go言語でQtのQFormLayoutを使ってみる