Skip to content

SohoStudio/walk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About Walk

Walk is a "Windows Application Library Kit" for the Go Programming Language.

Its focus is graphical user interfaces but there is some more stuff.

Setup

Make sure you have a working Go installation. See Getting Started

Now run go get github.com/lxn/walk

Using 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.

ui2walk

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
}

ui2walk emits i18n-ed strings when using the -tr flag. See https://github.com/lxn/polyglot for more details.

About

A Windows GUI toolkit for the Go Programming Language

Resources

License

Stars

Watchers

Forks

Packages

No packages published