赞
踩
GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。
关于Walk界面库(官方介绍):Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。
在浏览这部分前,请确定已经配置安装完毕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的源代码)
我们还要安装一个工具rsrc,以完成后期的打包工作,执行命令:go get github.com/akavel/rsrc
等待命令执行完成,然后检查,步骤与上文相仿,不再多说。
导入依赖
- import (
- //引入walk包
- "github.com/lxn/walk"
- //declarative包下包含大量控件,加一个点:使用包内的成员时可以省略包名
- ."github.com/lxn/walk/declarative"
- "strings"
- )
- 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: "动动我试试",
-
- //响应函数
- OnCl

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。