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点击所产生的事件。
分享到:
相关推荐
《SC132GS数据手册_V1.9》是一份针对国产SC132GS传感器的详细技术文档,旨在为用户提供全面的使用指南。这份手册是中文版,方便国内用户理解与操作,确保用户能够充分利用该传感器的各项功能。在本文中,我们将深入...
"附操作说明"意味着压缩包内可能还包含了用户指南或者教程文件,帮助用户理解和使用这款软件。同时,"CSDN也有其他同类软件,也可下载使用"暗示了GS并非唯一的选择,用户可以在CSDN(China Software Developer ...
2. GS_SDK-PB.pdf:SDK(Software Development Kit)编程指南,详细介绍了GS1011的软件开发环境、API接口、示例代码和调试工具,是进行模块软件开发的关键参考资料。 3. GS_EVB-S2W-PB.pdf:可能为EVB(Evaluation ...
7. `README.md`:提供关于库的简要介绍、安装指南和快速入门。 为了使用这个库,你需要先将其安装到Python环境中。这通常可以通过运行`pip install .`命令(在库的根目录下)完成,如果在本地开发,也可以使用`...
4. **docs**:可能包含项目的文档,如HTML格式的用户指南和API参考。 5. **src**或**gs2_python_sdk_script**:源代码目录,包含了实现库功能的Python模块和脚本。 6. **tests**:测试用例,用来验证库的正确性,...
1. **README**: 提供SDK的基本信息,包括安装指南、使用示例和API文档。 2. **LICENSE**: 描述SDK的授权协议,如MIT、Apache 2.0等。 3. **setup.py**: Python的安装脚本,用于将SDK安装到系统环境中。 4. **docs**:...
用户需要按照官方指南进行安装和设置。对于使用 Google Compute Engine VM 的用户,通常会预先安装好 Cloud SDK。 ##### 2.2 设置项目 - **登录账户**:确保已登录到 Google 账户。如果还没有 Google 账户,则需要...
通常,核心代码位于`gs2_python_sdk_auth`这样的子目录下,而`setup.py`文件用于安装和配置库,`README.md`或`README.rst`文件提供了关于库的详细介绍,包括安装指南和使用示例。 为了使用这个库,开发者首先需要...
7. `docs`目录:可能包含库的文档,如开发者指南、API参考等。 综上所述,`gs_quant`是一个专注于金融量化分析的Python库,由高盛集团开发,具备云原生特性,可能利用Zookeeper等工具实现分布式协调。它提供了一...
6. **文档资料**:详细的API参考手册、用户指南、技术文档,帮助开发者深入理解SDK的使用方法和潜在功能。 7. **性能优化**:V2.2版本可能对之前的版本进行了性能优化,例如提升了计算速度,降低了功耗,增强了系统...
1. **开发文档**:这是SDK的核心部分之一,提供了详尽的API参考、用户指南和示例代码,帮助开发者理解如何与MC20的OpenCPU接口进行交互,实现数据传输、网络连接、传感器控制等功能。 2. **库文件**:SDK包含必要的...
例如,提供的`WiFi_GS1011M.doc`文档可能包含了详细的配置步骤、API使用说明以及故障排查指南,是开发过程中不可或缺的参考资料。 总的来说,GainSpan GS1011M是一款强大且易于集成的无线模块,其低功耗、高兼容性...
在移动应用开发中,尤其是涉及多平台用户身份整合的情况下,QQ、微信、微博等第三方登录功能可以帮助用户在不同APP之间实现一键登录,提高用户体验。本文将重点讲解如何通过这些社交平台的数据接口,实现多APP用户...
1. **详细文档**:SDK内通常会包含一系列技术文档,包括模块规格书、OpenCPU功能介绍、API参考手册、用户指南等。这些文档为开发者提供了全面的技术指导,帮助理解MC20模块的硬件特性、OpenCPU的功能限制以及如何...
《移远MC20E模块OpenCPU SDK V1.7详解及二次开发指南》 移远通信是一家在物联网领域有着深远影响力的公司,其推出的MC20E模块是专为高效、经济的物联网应用设计的。在最新的MC20E_OpenCPU_GS3_SDK_V1.7.zip文件中,...
《gs-rest-service-master.zip_The Master_girl841_vc GSM_wangluoanqu》是一个与RESTful API相关的项目压缩包,由用户girl841创建,可能涉及到VC(Visual Studio Code)开发环境和GSM(可能是Global System for ...
本文将深度解析此API的特性和使用技巧,涵盖从基础知识到高级实践的全面指南。 #### ArcGIS API for iOS概览 ArcGIS API for iOS提供了丰富的功能集合,允许开发者在iOS平台上构建具有地图展示、数据查询、分析和...
1. **安装插件**:首先,需要将像"gs706w32.exe"这样的库或插件安装到PB环境中,按照提供的安装指南进行操作,确保插件正确集成到PB开发环境中。 2. **配置设置**:安装完成后,需要在PB的设置或选项中配置新的插件...
提供的技术文档资料包括模块的规格书、用户手册、API接口文档等,这些资料为开发者提供了详细的使用指南和编程接口,有助于快速理解和应用HLK-GS2503模块。 五、应用实例 - 车载导航:通过GPS和北斗双模定位,可以...
6. **头文件和库**: "include"目录下的头文件提供了API函数声明,这些函数可供开发者在自己的代码中调用,以实现与MT2503芯片的交互。库文件(可能存在于其他未列出的文件中)则包含了对应的函数实现。 7. **版本...