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 a .go file 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.
To use the generated code, put something like this into a file 'mydialog.go':
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
}
// Your custom init and event handling code goes here
return dlg.Run(), nil
}
ui2walk is not complete, so some features are missing. Dialogs and composites should work pretty good, but there is currently no support for MainWindows.