注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

眼睛想旅行

技术就是我的生命与信仰!

 
 
 

日志

 
 
关于我

精通C,C++,python,Erlang。并熟悉各种其他编程语言,用cocos2dx游戏引擎作过几个项目。会MySQL增删改查,了解OpenGL渲染原理。懂单片机,能设计数字电路系统,会画电路图和设计电路板。喜欢了解最新前沿技术,并持续关注和学习新技术。

网易考拉推荐

GS库用户指南(基本API篇)(转)  

2014-05-09 10:57:12|  分类: Erlang |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
最近在学erlang,也是看书看到了IRC的聊天服务器这一块,碰上了新的东西,原来这个就是erlang的GUI界面库,gs库。下边是网上找的这个库的基本用法。
转自:http://vivimusing.iteye.com/blog/334897

gs库是erlang的基本图形库。我在这篇文章里面介绍常用的几个图形库的API的用法。系统的内容可以参照http://www.erlang.org/documentation/doc-4.7.3/lib/gs-1.3.5/doc/html/part_frame.html 

 

 首先介绍下GS里面最最基本的几个API:

 

  • gs:start(). 一切图形效果从这里开始,实际上,它启用了一个图形服务器,我们想要把什么东西变成图形效果,向它发送请求就可以了。类比我们生活中的事例,图形服务器就像一个UI设计师。比如我们把要按钮显示参数(长多少,宽多少之类的)给UI设计师,他就帮我们画出这个按钮,不过GS的默认的按钮非常的难看。
  • gs:stop(). 相当于解雇了这个这个UI设计师。
  • gs:create(Objtype, Parent, Options)这个函数相当于递给我们的UI设计一个控件设计参数,告诉他,我要一个什么类型的控件(Objtype)比如window,button,frame;反正那个控件的里面(Parent);还有其他一些,比如高,宽之类的参数(Options)。如果我们还想给这个控件一个名字,我们可以调用gs:create(Objtype, Name, Parent, Options)。
  • gs:destoy(IdOrName) 能创建这个控件,我们也要能消除这个控件,destroy这个api能帮我们做到这一点。
  • gs:config(IdOrNeme, Options). 当先前我们给的参数中忘记了什么的时候,这个api就非常有用了呢,给你开个后面。

好了,开始我们的例子吧!

 

 

打开shell开始实验了:

%% 开始最原始的版本

 

gs:start(). 

%%这里我们雇佣了那个UI设计师。

%%这里我们可以键入我们的需求。

gs:stop().

%%这里我们解雇了那个UI设计师。

%%基本上这个模式。


 

我的需求:

1、我要显示一个窗口

2、窗口中放上去一个按钮

 

 

GS = gs:start(). 

%%这里我们雇佣了那个UI设计师。

%%这里我们可以键入我们的需求。

Win = gs:create(window,GS,[{width,200},{height,100},{map,true}]).

gs:stop().

%%这里我们解雇了那个UI设计师。

%%基本上这个模式。

 

我的需求:

1、我要显示一个窗口

2、窗口中放上去一个按钮

3、我想在这个button上面加上标签。

 

GS = gs:start(). 

%%这里我们雇佣了那个UI设计师。

%%这里我们可以键入我们的需求。

Win = gs:create(window,GS,[{width,200},{height,100},{map,true}]).

Button=gs:create(button,Win).

gs:stop().

%%这里我们解雇了那个UI设计师。

%%基本上这个模式。

 

 

 

我的需求:

 

1、我要显示一个窗口

2、窗口中放上去一个按钮

 

3、我想在这个button上面加上标签。

 

GS = gs:start(). 

%%这里我们雇佣了那个UI设计师。

%%这里我们可以键入我们的需求。

Win = gs:create(window,GS,[{width,200},{height,100},{map,true}]).

Button=gs:create(button,Win).

gs:config(Button,[{label,{text,"click me!"}}]).

gs:stop().

%%这里我们解雇了那个UI设计师。

%%基本上这个模式。

 

如果你想知道我点了这个Button会有什么消息从GS那里发过来,

试下以下代码。

receive

Any->

Any

end.

然后点下那个butoon会得到类似 {gs,{5,<0.30.0>},click,[],[[]]} 返回,这就是button点击所产生的事件。


下边的链接是学习erlang的书里的一个使用例子:
  评论这张
 
阅读(328)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017