Golang---walk学习(一)

    开始尝试用Golang语言来写界面,发现了walk这个好东西,可以实现非常优美的界面程序

    walk的git地址为:http://github.com/lxn/walk

            开发文档为:http://godoc.org/github.com/lxn/walk

    在保证安装好了golang语言并配置好环境变量、安装Git之后,就可以直接从go命令行中获取walk

           

    命令执行完之后就会发现在golang的GOPATH下的src目录中生成了一个github.com文件夹,是保存从github上得到的所有的第三方库,库中有很多的使用例子,本人使用的IDE是LiteIDE,导入之后就可以直接编译运行。

   完整代码如下:

   

// Copyright 2013 The Walk Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package main

import (
	"log"
)

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

func main() {
	var te *walk.TextEdit

	if _, err := (MainWindow{
		Title:   "Walk Clipboard Example",
		MinSize: Size{300, 200},
		Layout:  VBox{},
		Children: []Widget{
			PushButton{
				Text: "Copy",
				OnClicked: func() {
					if err := walk.Clipboard().SetText(te.Text()); err != nil {
						log.Print("Copy: ", err)
					}
				},
			},
			PushButton{
				Text: "Paste",
				OnClicked: func() {
					if text, err := walk.Clipboard().Text(); err != nil {
						log.Print("Paste: ", err)
					} else {
						te.SetText(text)
					}
				},
			},
			TextEdit{
				AssignTo: &te,
			},
		},
	}).Run(); err != nil {
		log.Fatal(err)
	}
}

     

      以上可以实现复制和粘贴功能,并在指定的text里面显示,简单强大!

     界面编写起来非常的简洁,事件处理也很方便,当然,如果想将生成的exe打包的话,就需要使用另外一个工具rsrc,同样可以在命令行中直接使用go命令来获取:

     

     得到之后,需要在rsrc目录下进行编译,最后得到的rsrc.exe放入到GOROOT目录下,此刻就可以对exe文件进行打包啦。

     打包的命令为:

     

    其实我们发现在exe在编译运行之后,就会在目录下生成一个manifest文件,而打包就是将exe文件和manifest嵌入在一起发布,命令中的test.manifest就是程序生成的文件,接下来就可以将exe文件发布了。

    最后还遇到一个问题,在打包之后运行exe的时候会出现doc窗口,这是因为在编译的时候将编译窗口融合在了一起,因此在build的时候使用

    

    这样就可以避免出现这种情况了。

   最后,分享另外一个drawing例子的画图框

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值