`
vivimusing
  • 浏览: 78625 次
  • 性别: Icon_minigender_1
  • 来自: 台州
社区版块
存档分类
最新评论

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

阅读更多

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点击所产生的事件。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics