图形用户界面1:初识Walk

栏目: Go · 发布时间: 6年前

内容简介:版权声明:本文为博主尹成联系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 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

[清华团队带你实战区块链开发]

( https://ke.qq.com/course/344443?tuin=3d17195d )

扫码获取海量视频及源码 QQ群:721929980

图形用户界面1:初识Walk

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据时代的IT架构设计

大数据时代的IT架构设计

IT架构设计研究组 / 电子工业出版社 / 2014-4 / 49.00元

《大数据时代的IT架构设计》以大数据时代为背景,邀请著名企业中的一线架构师,结合工作中的实际案例展开与架构相关的讨论。《大数据时代的IT架构设计》作者来自互联网、教育、传统行业等领域,分享的案例极其实用,代表了该领域较先进的架构。无论你就职于哪一行业都可以从本书中找到相关的架构经验,对您在今后的架构设计工作中都能起到很好的帮助作用。 《大数据时代的IT架构设计》适合具备一定架构基础和架构经验......一起来看看 《大数据时代的IT架构设计》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具