48.笔记go语言圣经——go图形化

来源:互联网 发布:knn算法matlab 编辑:程序博客网 时间:2024/05/16 07:06

48.笔记go语言圣经——go图形化

 GO没有原生的界面库,所以不能直接用来写GUI界面。互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#C++的界面。而且效率还更胜一筹。

关于Walk

WalkWindowsApplication Library Kit

Go 1.1.x 或后续版本后支持。

安装:goget github.com/lxn/walk

代码

package main

import (

           "github.com/lxn/walk"

           ."github.com/lxn/walk/declarative"

           "strings"

)

func main() {

           varinTE, 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()

}

创建manifest

创建文件test.manifest

<?xml version="1.0" encoding="UTF-8"standalone="yes"?>

    <assemblyxmlns="urn:schemas-microsoft-com:asm.v1"manifestVersion="1.0">

        <assemblyIdentityversion="1.0.0.0" processorArchitecture="*"name="SomeFunkyNameHere" type="win32"/>

        <dependency>

           <dependentAssembly>

                <assemblyIdentitytype="win32" name="Microsoft.Windows.Common-Controls"version="6.0.0.0" processorArchitecture="*"publicKeyToken="6595b64144ccf1df" language="*"/>

           </dependentAssembly>

        </dependency>

    </assembly>

安装rsrc tool

go get github.com/akavel/rsrc
rsrc -manifest hello.manifest -o rsrc.syso

或者将test.manifest重命名为test.exe.manifest

编译APP

命令如下:

go build -ldflags="-H windowsgui" hello.go

然后直接运行。

关于错误

出现如下报错:

应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件

日志,或使用命令行 sxstrace.exe 工具。

可能是 test-manifest 中xml文件区别。

原创粉丝点击