Walk - это «комплект библиотеки приложений Windows» для языка программирования GO.
Это в первую очередь полезно для разработки настольных графических интерфейсов, но есть еще кое -что.
Убедитесь, что у вас есть установка Work Go. Смотри, начав работы
Прогулка в настоящее время требует GO 1.11.x или позже.
Теперь запустите go get github.com/lxn/walk
Предпочтительным способом создания GUI с Walk является использование своего декларативного подпакета, как показано в этом небольшом примере:
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 >Затем либо скомпилируйте манифест с помощью инструмента RSRC, например:
go get github.com/akavel/rsrc
rsrc -manifest test.manifest -o rsrc.syso
или переименовать файл test.manifest в test.exe.manifest и вместо этого распределить его с приложением.
В каталоге, содержащем test.go Go run
go build
Чтобы избавиться от окна CMD, вместо этого запустите
go build -ldflags="-H windowsgui"
test.exe
Есть несколько примеров, которые должны заставить вас начать.
Walk требует общего элемента управления 6. Это означает, что вы должны поместить соответствующий файл манифеста приложения либо рядом с вашим исполняемым файлом, либо встроенным в качестве ресурса.
Вы можете скопировать один из файлов Manifest Application, который поставляется с примерами.
Чтобы встроить манифестный файл в качестве ресурса, вы можете использовать инструмент RSRC.
Важно: если вы не внедряете манифест в качестве ресурса, то вам не следует запускать исполняемый файл до того, как файл Manifest будет на месте. Если вы все равно это сделаете, программа не будет работать должным образом. И что еще хуже, Windows не будет распознавать манифестный файл, вы позже бросаете рядом с исполняемым файлом. Чтобы исправить это, восстановите свой исполняемый файл и запустите его только с помощью манифестного файла на месте.
Обычный цикл сообщений по умолчанию включает в себя вызовы по функциям API Win32, которые прилагают приличное количество накладных расходов во время выполнения. В качестве альтернативы этому вы можете скомпилировать ходьбу, используя дополнительную реализацию C основного цикла сообщений, пропустив тег сборки walk_use_cgo :
GO BUILD -TAGS WALK_USE_CGO