内容简介:版权声明:本文为博主尹成联系QQ77025077,微信18510341407原创文章,欢迎转载侵权不究。 https://blog.csdn.net/yincheng01/article/details/84135181
版权声明:本文为博主尹成联系QQ77025077,微信18510341407原创文章,欢迎转载侵权不究。 https://blog.csdn.net/yincheng01/article/details/84135181
GO语言的图形界面库Walk简介
GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。
关于Walk界面库(官方介绍):Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。
###安装Walk
在浏览这部分前,请确定已经配置安装完毕 go 语言的环境。如果没有,可以参考go官网的Install帮助。另外,注意:这个Walk库只能运行在Go 1.1.x及以上。
要安装Walk很简单,只要运行命令: go get github.com/lxn/walk
等待命令执行完毕,这时候检查GOPATH的src与pkg下,是否有符合自己计算机环境的walk目录。(我的电脑的CPU架构为AMD64,则会在 %GOPATH%\windows_amd64\github.com\lxn 下出现一个walk文件夹与编译完成的a文件,另外在 %GOPATH%\src\github.com\lxn 下也会出现walk的源代码)
导入依赖
import ( //引入walk包 "github.com/lxn/walk" //declarative包下包含大量控件,加一个点:使用包内的成员时可以省略包名 ."github.com/lxn/walk/declarative" "strings" )
官方的入门Demo
func main() {
//声明两个文本域控件
var inTE, outTE *walk.TextEdit
//配置主窗口,并运行起来
MainWindow{
//窗口标题
Title: "尖叫的Demo",
//可拉伸的最小尺寸
MinSize: Size{600, 400},
//主布局:垂直布局
Layout: VBox{},
//窗口中的所有控件
Children: []Widget{
//水平分割器(水平小布局)
HSplitter{
//局部水平排列的控件们
Children: []Widget{
//文本输入框
TextEdit{
//绑定到inTE变量
AssignTo: &inTE},
//文本输出框
TextEdit{
AssignTo: &outTE,
//只读的文本框
ReadOnly: true},
},
},
//普通按钮
PushButton{
//按钮文本
Text: "动动我试试",
//响应函数
OnClicked: func() {
inputStr := inTE.Text()
outputStr := strings.ToUpper(inputStr)
outTE.SetText(outputStr)
},
},
},
}.Run()
}
配置文件
- 命名为xxx.exe.manifest,放置在程序包的根目录下
- xxx.exe即为程序编译形成的可执行程序名称
- 该配置文件作用是运行时向Windows操作系统寻求一些支持和依赖,内容可以无需修改
<?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>
运行Hello程序
- go get xxx的顺利执行需要预先安装好Git版本控制工具,下载链接: https://git-scm.com/downloads
- 安装walk包
go get github.com/lxn/walk
- 拷贝类库首页( https://github.com/lxn/walk)的Hello程序代码到自己的go文件
- 从类库代码包的examples下的任意应用程序文件夹下拷贝一个系统依赖配置文件(xxx.exe.manifest)到自己的go文件所在的目录下,重命名为hello.exe.manifest,后续可执行程序的名字就必须叫hello.exe
- 编译形成hello.exe,-ldflags="-H windowsgui"代表屏蔽控制终端(控制终端可以在测试阶段查看调试信息)
go build -o hello.exe -ldflags="-H windowsgui"
- 执行hello.exe
学院Go语言视频主页
https://edu.csdn.net/lecturer/1928[清华团队带你实战区块链开发]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 兄弟连区块链培训教程图形用户界面1:初识Walk
- [译] 如何理智地构建复杂用户界面
- Geary 40 发布,具有响应式用户界面
- Inferno 3.8.2 发布,JavaScript 用户界面库
- Inferno v4 正式发布,JavaScript 用户界面库
- Opera R3 将使用新的用户界面
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机程序设计艺术・卷3
[美] 高德纳(Donald E. Knuth) / 贾洪峰 / 人民邮电出版社 / 2017-2 / 198.00元
《计算机程序设计艺术》系列被公认为计算机科学领域的权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书为该系列的第3卷,全面讲述了排序和查找算法。书中扩展了卷1中数据结构的处理方法,并对各种算法的效率进行了大量的分析。一起来看看 《计算机程序设计艺术・卷3》 这本书的介绍吧!