GO语言UI界面开发-安装库与编译(1)

安装库

CMD执行:go get github.com/lxn/walk
库的GitHub项目

简单的例子与编译演示

代码源文件:main.go

package main

import (
    "github.com/lxn/walk"
    . "github.com/lxn/walk/declarative"
    "strings"
)

func main()  {
    var inTE, outTE *walk.TextEdit
    MainWindow{
        Title:   "窗口标题",
        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()
}

编译所需配置文件:main.exe.manifest或main.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>

编译的两种方法

  • 方法一:打包成单独的exe

这种打包方法需要安装另一个库:rsrc
cmd执行:

go get github.com/akavel/rsrc

配置文件命名为:源文件名.manifest
cmd执行:

rsrc -manifest 源文件名.manifest -o rsrc.syso

编译:

go build 
或者
go build -ldflags="-H windowsgui"

前者运行时会有黑窗口,后者隐藏
正常运行要求:exe文件

  • 方法二:打包成一个exe与配置文件

配置文件命名为:源文件名.exe.manifest
编译:

go build 
或者 
go build -ldflags="-H windowsgui"

前者运行时会有黑窗口,后者隐藏
正常运行要求:exe文件+源文件名.exe.manifest文件

  • 注意:测试环境是配置文件和源文件在同一路径,cmd执行的路径也在该路径
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容