前言
由于老师让我们做一个窗体程序,正巧我在学习go,于是搜索了一下go是否能做窗体,结果就发现了walk包,题目为字符串解析(大概就是输出一下前后缀等等)
准备
安装github上的 lxn/walk 包,以及 rsrc 包
go get github.com/lxn/walk
go get github.com/akavel/rsrc
接着创建一个manifest程序,我这里直接复制的官方文档,命名为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 -manifest test.manifest -o rsrc.syso
代码
package main
import (
"log"
//"strconv"
)
import (
"github.com/lxn/walk"
. "github.com/lxn/walk/declarative"
)
func main() {
var te,tt *walk.TextEdit
if _, err := (MainWindow{
Title: "Experiment 1",
MinSize: Size{
300, 200},
Layout: VBox{
},
Children: []Widget{
PushButton{
Text: "Analyse"