GTK3 app
package main
import (
"log"
"github.com/gotk3/gotk3/gtk"
)
func main() {
gtk.Init(nil)
//новое окно
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.SetTitle("MP3 Player")
win.Connect("destroy", func() {
//при событии закрытия окна отключаемся от gtk
gtk.MainQuit()
})
ui(win)
win.SetDefaultSize(400, 300)
//отображение окна и запуск цикла событий
win.ShowAll()
gtk.Main()
}
func ui(win *gtk.Window) {
layout, _ := gtk.GridNew()
title, _ := gtk.LabelNew("test")
layout.Attach(title, 0, 0, 1, 1) //верхний ряд
button, _ := gtk.ButtonNew()
button.Connect("clicked", func() {
//toggle state
})
button_label, _ := gtk.LabelNew("Play/Pause")
button.Add(button_label)
//кнопка под меткой
layout.AttachNextTo(button, title, gtk.POS_BOTTOM, 1, 1)
win.Add(layout)
}