文档章节

golang winForm开发

你来人间一趟
 你来人间一趟
发布于 2015/02/13 21:48
字数 797
阅读 6151
收藏 76

最近一直在看rust,语法挺头疼的,正好趁着1.0发布前的一段时间,回来玩玩golang。

golang的语法很简单,liteIde又变得越来越好用,因此学习golang不会花费您多少时间,还能够清醒被rust晃晕的头脑,哈哈。

winform开发虽然已经不再流行,但是用来练手却非常合适,写小工具也很爽,废话少说,golang的UI库就是大名鼎鼎的 andlabs ui, 在github的star数已达到1946,相当可观。这是一个跨平台的UI库,可以运行在 windows/linux/mac上,相当令人激动。

我按照github的提示在一台重装过系统的机器上安装golang,并跑起一个winForm程序,说明库已可用,但是问题仍然不少。

建议在golangTc网站上下载golang最新的安装程序或者压缩包,同时还有liteide

golang:

http://www.golangtc.com/static/go/go1.4.1.windows-386.msi

liteide:

http://www.golangtc.com/static/liteide/X27/liteidex27-1.windows.zip

git.exe下载地址:

https://s3.amazonaws.com/github-cloud/releases/325827/e8237682-8701-11e4-9dbe-7fb433262871.exe?response-content-disposition=attachment%3B%20filename%3DGit-1.9.5-preview20141217.exe&response-content-type=application/octet-stream&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1423830869&Signature=ZIPmgFx0FtVasxYjjEKf2dB2bNI%3D

带一个简单gui,很好用,居家旅行必备。

mingw安装(配合cgo):

http://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe


1. golang安装完成后,配置GOPATH环境变量,这点不必多说。在cmd中运行go env,OK.

2. git正确安装,其中勾选在window cmd中使用命令,就会添加目录到path环境变量。

liteide直接解压,找到liteIde.exe,直接运行就ok.

3. 安装mingw,双击运行,按照默认选项,安装到结束。

4. go get ui包

在控制台输入 go get github.com/andlabs/ui,等待数分钟。如果没有出现错误,就OK。

如果出现了错误,说明有干扰项,gcc没有调用成功, 仔细查看环境变量,是否有其他版本的gcc或者同名的dll等,例如我安装过haskell,环境变量设置mingw的bin目录前面,所以调用的haskell的gcc,就错误了。将mingw的bin目录调整到path环境变量的最前面,OK.

5.以上工作结束后,用liteide新建一个go文件,按照 tutorial 的代码复制一份,点击bulld and run,就可以看到一个form了。我稍微修改了下,再弹出一个form。代码写起来还是比较舒服的。

以上是ui自带的一个demo,作者懒,并没有列举全控件,示例少。


现在最大的问题的是失效区域重绘有问题,经常看到白板窗体,作者现在的精力可能还不在这些细节上,毕竟UI库是所有框架中最难的,耗时费力,要有很大的耐心。比一丢丢的web框架难度大多了。希望作者撑下去,撑下去。。,

作者说,这辈子都一定坚持搞桌面UI,让我十分感动...,

我也是一个golang初学者,golang目前只是作为手机app后端的api colud工具.其他方面还未体会到golang的好处,又被rust吸引了,只好无止境地折腾下去了。





© 著作权归作者所有

共有 人打赏支持
你来人间一趟
粉丝 24
博文 13
码字总数 4538
作品 0
南京
程序员
私信 提问
加载中

评论(20)

lhjok
lhjok
你好,可以请教一个弱弱的问题吗?按钮的键绑定要怎么实现?我想按钮绑定回车键,可以的话贴上实现代码,谢谢!!
你来人间一趟
你来人间一趟

引用来自“独立风华”的评论

界面这个东西,难度大、容易错、同时也是繁琐的体力活,更要命的是,它经常被轻视
gxui不错,野心很大,只是更新不及时
风华神使
风华神使
界面这个东西,难度大、容易错、同时也是繁琐的体力活,更要命的是,它经常被轻视
myml
myml
可以用html5啊,golang的net包挺好用的,可以跨Linux/Windows/Mac/Android了
你来人间一趟
你来人间一趟

引用来自“Mrchenyz”的评论

活着就是为了折腾
哈哈,你看我的个人说明,like a dog,like a god,程序员有时像狗,有时像上帝
你来人间一趟
你来人间一趟

引用来自“itfanr”的评论

收藏了
谢谢,这篇文章其实没什么实质内容...
你来人间一趟
你来人间一趟

引用来自“JM_Joy”的评论

不知道rust是怎样的,但表示十分喜欢go
我感觉go的领域有限,而且这些领域和其他语言重叠了,如果你不能做的比它们好,那只能慢慢淡出人们的视线,不过欣慰地是,golang学起来非常简单,成本低。
你来人间一趟
你来人间一趟

引用来自“名字不能长”的评论

Rust 的确能折腾人,码代码的心情都被错误烦透了
rust的设计还是很吸引人的,也算是开发效率和执行效率最完美的平衡
你来人间一趟
你来人间一趟

引用来自“Quttap”的评论

还在用xp!
家里的老爷机啊
你来人间一趟
你来人间一趟

引用来自“无即是有”的评论

还不得golang自己不搞ui,这种模式更容易赢得开发者
语言自带ui库其实并不好,而且ui是个大工程,现在几乎没有公司重复造轮子了,都是对现有ui库的绑定
Winform开发框架之框架演化

国庆去了一趟北京,回来一直忙着各种各样的事情,有公司的,有个人的,就没停过来,所以很久没有写博客了,写博客要有一个好的心情及一个好的思路,否则宁愿不写,这是我的准则。虽然这段时间...

walb呀
2017/12/04
0
0
Winform开发框架之Office Ribbon界面

在前面几篇文章介绍我的Winform框架随笔文章,包括有《Winform开发框架之字典数据管理》、《Winform开发框架之权限管理系统》、《Winform开发框架之终极应用》,其中Winform开发框架之终极应...

长平狐
2012/08/22
514
0
Winform开发框架之Office Ribbon界面

在前面几篇文章介绍我的Winform框架随笔文章,包括有《Winform开发框架之字典数据管理》、《Winform开发框架之权限管理系统》、《Winform开发框架之终极应用》,其中Winform开发框架之终极应...

长平狐
2012/06/11
4.6K
0
循序渐进开发WinForm项目(6)--开发使用混合式Winform模块

1、Winform数据访问模式定义 传统的Winform程序模块:用于传统的数据库通讯获取数据,这种方式获取数据,方便快捷,可以用于常规的业务系统的场景,用于单机版软件或者基于局域网内的业务系统...

walb呀
2017/12/04
0
0
Winform开发框架中工作流模块的表设计分析

在较早博客随笔里面写过文章《Winform开发框架之简易工作流设计》之后,很久没有对工作流部分进行详细的介绍了,本篇继续这个主题,详细介绍其中的设计、实现及效果给大家,这个工作流在好几...

walb呀
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Centos7 防火墙 firewalld 实用操作

摘要: 一.前言 Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewal...

阿里云官方博客
17分钟前
2
0
Python venv简单使用——创建虚拟环境

1.首先,我们先在项目目录下,输入: python3 -m venv xxx xxx指你要创建的文件名。因为在执行这行命令之后,就会把与Python虚拟环境有关的文件放到xxx里面。 2.然后只需要运行这个里面的act...

littlemesieV
26分钟前
0
0
spring常用配置

Spring常用配置示例Spring 是一款Java平台的开源框架,是为解决企业级应用程序开发的复杂性而创建的,通过良好的分层架构让开发人员能够专注于业务逻辑的开发。Spring框架是一个分层架...

小橙子的曼曼
28分钟前
1
0
Docker安装Jenkins

Docker安装Jenkins

吴伟祥
28分钟前
0
0
java运算符 与(&)、非(~)、或(|)、异或(^)

最近看HashMap源码,遇到了这样一段代码: 1 static final int hash(Object key) {2 int h;3 return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);4 ......

孟飞阳
38分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部