Walk is a "Windows Application Library Kit" for the Go Programming Language.
Its focus is graphical user interfaces but there is some more stuff.
Make sure you have a working Go installation. See Getting Started
Now run go get github.com/lxn/walk
See the examples directory for inspiration.
Some gui features require an application manifest file alongside or embedded into your executable, to make use of common controls 6.0. See the examples directory for such a file.
The ui2walk tool generates Go code for use with Walk from Qt Designer ui files.
It generates .go files for every .ui file in the current working directory, recursively.
If you e.g. have a file 'mydialog.ui', ui2walk will create 'mydialog_ui.go' in the same directory. This file will get regenerated every time you run ui2walk, so don't edit it.
If it doesn't already exist, ui2walk also creates a matching "logic" file 'mydialog.go', which will not be regenerated, so you can extend it:
package main
import "github.com/lxn/walk"
type MyDialog struct {
*walk.Dialog
ui myDialogUI
}
func RunMyDialog(owner walk.RootWidget) (int, error) {
dlg := new(MyDialog)
if err := dlg.init(owner); err != nil {
return 0, err
}
// TODO: Do further required setup, e.g. for event handling, here.
return dlg.Run(), nil
}