Walk est un "Kit de bibliothèque d'applications Windows" pour le langage de programmation Go.
C'est principalement utile pour le développement de l'interface graphique de bureau, mais il y a d'autres choses.
Assurez-vous que vous avez une installation de GO de travail. Voir le démarrage
La marche nécessite actuellement Go 1.11.x ou version ultérieure.
Maintenant, exécutez go get github.com/lxn/walk
La façon préférée de créer des GUIS avec Walk est d'utiliser son sous-package déclaratif, comme illustré dans ce petit exemple:
test.go package main
import (
"github.com/lxn/walk"
. "github.com/lxn/walk/declarative"
"strings"
)
func main () {
var inTE , outTE * walk. TextEdit
MainWindow {
Title : "SCREAMO" ,
MinSize : Size { 600 , 400 },
Layout : VBox {},
Children : [] Widget {
HSplitter {
Children : [] Widget {
TextEdit { AssignTo : & inTE },
TextEdit { AssignTo : & outTE , ReadOnly : true },
},
},
PushButton {
Text : "SCREAM" ,
OnClicked : func () {
outTE . SetText ( strings . ToUpper ( inTE . Text ()))
},
},
},
}. Run ()
}test.manifest manifeste. <? xml version = " 1.0 " encoding = " UTF-8 " standalone = " yes " ?>
< assembly xmlns = " urn:schemas-microsoft-com:asm.v1 " manifestVersion = " 1.0 " >
< assemblyIdentity version = " 1.0.0.0 " processorArchitecture = " * " name = " SomeFunkyNameHere " type = " win32 " />
< dependency >
< dependentAssembly >
< assemblyIdentity type = " win32 " name = " Microsoft.Windows.Common-Controls " version = " 6.0.0.0 " processorArchitecture = " * " publicKeyToken = " 6595b64144ccf1df " language = " * " />
</ dependentAssembly >
</ dependency >
< application xmlns = " urn:schemas-microsoft-com:asm.v3 " >
< windowsSettings >
< dpiAwareness xmlns = " http://schemas.microsoft.com/SMI/2016/WindowsSettings " >PerMonitorV2, PerMonitor</ dpiAwareness >
< dpiAware xmlns = " http://schemas.microsoft.com/SMI/2005/WindowsSettings " >True</ dpiAware >
</ windowsSettings >
</ application >
</ assembly >Puis compilez le manifeste à l'aide de l'outil RSRC, comme ceci:
go get github.com/akavel/rsrc
rsrc -manifest test.manifest -o rsrc.syso
ou renommez le fichier test.manifest à test.exe.manifest et distribuez-le avec l'application à la place.
Dans le répertoire contenant test.go Run
go build
Pour vous débarrasser de la fenêtre CMD, exécutez plutôt
go build -ldflags="-H windowsgui"
test.exe
Il y a quelques exemples qui devraient vous aider à démarrer.
La marche nécessite des contrôles communs 6. Cela signifie que vous devez mettre un fichier de manifeste d'application approprié à côté de votre exécutable ou intégré en tant que ressource.
Vous pouvez copier l'un des fichiers manifestes d'application fournis avec les exemples.
Pour intégrer un fichier manifeste comme ressource, vous pouvez utiliser l'outil RSRC.
IMPORTANT: Si vous n'incorporez pas un manifeste en tant que ressource, vous ne devez pas lancer votre exécutable avant que le fichier manifeste ne soit en place. Si vous le faites de toute façon, le programme ne fonctionnera pas correctement. Et pire, Windows ne reconnaîtra pas un fichier manifeste, vous déposez plus tard à côté de l'exécutable. Pour résoudre ce problème, reconstruisez votre exécutable et le lancez uniquement avec un fichier manifeste en place.
La boucle de message par défaut habituelle comprend des appels vers les fonctions de l'API Win32, qui entraîne une quantité décente de frais généraux d'exécution provenant de GO. Comme alternative à cela, vous pouvez compiler Walk en utilisant une implémentation C facultative de la boucle de message principale, en passant la balise de build walk_use_cgo :
aller build -tags walk_use_cgo