QtのQGroupBoxとQtのQGridLayoutを使って、下記のような画面を作成してみる。

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("アルバイト給与")
mainLayout := widgets.NewQGridLayout2()
widget := widgets.NewQWidget(nil, 0)
group1 := widgets.NewQGroupBox2("1", nil)
boxLayout := widgets.NewQBoxLayout(3, nil)
input := widgets.NewQLineEdit(nil)
input.SetPlaceholderText("Please input number")
boxLayout.AddWidget(input, 0, 0)
label := widgets.NewQLabel2("時間", nil, 0)
boxLayout.AddWidget(label, 0, 0)
group1.SetLayout(boxLayout)
group2 := widgets.NewQGroupBox2("2", nil)
boxLayout = widgets.NewQBoxLayout(3, nil)
input1 := widgets.NewQLineEdit(nil)
input1.SetPlaceholderText("Please input number")
boxLayout.AddWidget(input1, 0, 0)
label1 := widgets.NewQLabel2("時給", nil, 0)
boxLayout.AddWidget(label1, 0, 0)
group2.SetLayout(boxLayout)
group3 := widgets.NewQGroupBox2("3", nil)
boxLayout = widgets.NewQBoxLayout(3, nil)
input2 := widgets.NewQLineEdit(nil)
boxLayout.AddWidget(input2, 0, 0)
label2 := widgets.NewQLabel2("給料1", nil, 0)
boxLayout.AddWidget(label2, 0, 0)
group3.SetLayout(boxLayout)
group4 := widgets.NewQGroupBox2("4", nil)
boxLayout = widgets.NewQBoxLayout(3, nil)
input3 := widgets.NewQLineEdit(nil)
input3.SetPlaceholderText("Please input number")
boxLayout.AddWidget(input3, 0, 0)
label5 := widgets.NewQLabel2("出勤日数", nil, 0)
boxLayout.AddWidget(label5, 0, 0)
group4.SetLayout(boxLayout)
group5 := widgets.NewQGroupBox2("5", nil)
boxLayout = widgets.NewQBoxLayout(3, nil)
input4 := widgets.NewQLineEdit(nil)
input4.SetPlaceholderText("Please input number")
boxLayout.AddWidget(input4, 0, 0)
label6 := widgets.NewQLabel2("交通費", nil, 0)
boxLayout.AddWidget(label6, 0, 0)
group5.SetLayout(boxLayout)
group6 := widgets.NewQGroupBox2("6", nil)
boxLayout = widgets.NewQBoxLayout(3, nil)
input5 := widgets.NewQLineEdit(nil)
boxLayout.AddWidget(input5, 0, 0)
label7 := widgets.NewQLabel2("交通費合計", nil, 0)
boxLayout.AddWidget(label7, 0, 0)
group6.SetLayout(boxLayout)
group7 := widgets.NewQGroupBox2("7", nil)
boxLayout = widgets.NewQBoxLayout(3, nil)
input6 := widgets.NewQLineEdit(nil)
boxLayout.AddWidget(input6, 0, 0)
label8 := widgets.NewQLabel2("給与合計", nil, 0)
boxLayout.AddWidget(label8, 0, 0)
group7.SetLayout(boxLayout)
label3 := widgets.NewQLabel2("×", nil, 0)
label4 := widgets.NewQLabel2("=", nil, 0)
label9 := widgets.NewQLabel2("×", nil, 0)
label10 := widgets.NewQLabel2("=", nil, 0)
mainLayout.AddWidget(group1, 0, 0, 0)
mainLayout.AddWidget(group2, 0, 2, 0)
mainLayout.AddWidget(group3, 0, 4, 0)
mainLayout.AddWidget(group4, 1, 0, 0)
mainLayout.AddWidget(group5, 1, 2, 0)
mainLayout.AddWidget(group6, 1, 4, 0)
mainLayout.AddWidget(group7, 2, 4, 0)
mainLayout.AddWidget(label3, 0, 1, 0)
mainLayout.AddWidget(label4, 0, 3, 0)
mainLayout.AddWidget(label9, 1, 1, 0)
mainLayout.AddWidget(label10, 1, 3, 0)
widget.SetLayout(mainLayout)
window.SetCentralWidget(widget)
window.Show()
app.Exec()
}




