一、golang环境
Go 1.11.x or later
二、安装walk
go get github.com/lxn/walk
三、安装rsrc
运行walk程序需要manifest,rsrc提供了这个功能
go install github.com/akavel/rsrc
安装完成后在GOPATH的bin下面会有一个rsrc.exe的可执行文件
在idea的termial输入rsrc会出现如下信息
四、编写manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"><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><asmv3:application><asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"><dpiAware>true</dpiAware></asmv3:windowsSettings></asmv3:application>
</assembly>
五、生成rsrc.syso
rsrc -manifest gui.manifest -o rsrc.syso
会出现一个rsrc.syso文件
六、编写HelloWorld
package mainimport ("github.com/lxn/walk/declarative""log"
)func main() {mw := declarative.MainWindow{Title:"this is title",Size: declarative.Size{Width:500,Height:500},Layout:declarative.VBox{MarginsZero:true},Children: []declarative.Widget{declarative.TextLabel{Text:"Hello Walk!!!"},},}_, err := mw.Run()if err != nil{log.Println("启动出错",err)}
}
直接运行main方法不能成功,会报一个 TTM_ADDTOOL failed的错误
1、修改IDEA的运行方式
如果想在idea里面启动运行需要改下执行配置,默认是go build main.go,编译时他不会把生成的rsrc.syso文件包含进去
将其改成文件夹形式
再次运行
2. 在Terminal中go build 生成exe,双击exe
这种方式不方便调试