Walk ist ein "Windows Application Library Kit" für die Go -Programmiersprache.
Es ist in erster Linie nützlich für die Desktop -GUI -Entwicklung, aber es gibt noch einige Dinge.
Stellen Sie sicher, dass Sie eine Arbeitsanlage haben. Sehen Sie den ersten Blick
Walk benötigt derzeit Go 1.11.x oder höher.
Jetzt go get github.com/lxn/walk
Der bevorzugte Weg, GUIs mit Walk zu erstellen, besteht darin, sein deklaratives Subpaket zu verwenden, wie in diesem kleinen Beispiel dargestellt:
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 <? 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 >Kompilieren Sie dann entweder das Manifest mit dem RSRC -Tool wie folgt:
go get github.com/akavel/rsrc
rsrc -manifest test.manifest -o rsrc.syso
oder benennen Sie die test.manifest -Datei in test.exe.manifest um und verteilen Sie sie stattdessen mit der Anwendung.
Im Verzeichnis mit test.go laufen
go build
Um das CMD -Fenster loszuwerden, laufen Sie stattdessen aus
go build -ldflags="-H windowsgui"
test.exe
Es gibt einige Beispiele, die Ihnen den Einstieg bringen sollten.
Walk erfordert gemeinsame Steuerelemente 6. Dies bedeutet, dass Sie eine geeignete Anwendungsmanifest -Datei entweder neben Ihrer ausführbaren Datei oder eingebettet als Ressource einstellen müssen.
Sie können eine der mit den Beispielen gelieferten Anwendungsmanifestdateien kopieren.
Um eine Manifestdatei als Ressource einzubetten, können Sie das RSRC -Tool verwenden.
Wichtig: Wenn Sie kein Manifest als Ressource einbetten, sollten Sie Ihre ausführbare Datei nicht starten, bevor die Manifestdatei vorhanden ist. Wenn Sie es trotzdem tun, wird das Programm nicht ordnungsgemäß ausgeführt. Und schlimmer noch, Windows wird keine Manifestdatei erkennen, Sie fallen später neben die ausführbare Datei. Um dies zu beheben, bauen Sie Ihre ausführbare Datei neu auf und starten Sie sie nur mit einer offensichtlichen Datei.
Die übliche Standard -Nachrichtenschleife enthält Anrufe an Win32 -API -Funktionen, die eine angemessene Menge an Laufzeit -Overhead von GO verursachen. Als Alternative dazu können Sie den Spaziergang mit einer optionalen C -Implementierung der Hauptmeldungsschleife kompilieren, indem Sie das Build -Tag walk_use_cgo übergeben:
Gehen Sie bauen -tags walk_use_cgo