nbiao 发表于 2011-9-25 22:01:21

教程:如何用RSG快速绘制GUI界面

本帖最后由 Hansha 于 2011-9-25 19:51 编辑

教程:如何用RSG快速绘制GUI界面
Owen <xxbiao@gmail.com> <www.7owen.tk>
更新时间2011-09-25 RSG( Really Simple GUI)是abaqus自带的用来创建GUI界面及制作插件的小工具。它能够快速的创建好GUI界面并将GUI界面与脚本文件绑定,同时生成abaqus插件使其出现在abaqus的plug-ins菜单中。

开始阅读文章之前可以看一下我用做的一个示意,这是用RSG做的哦~!这个界面只是一个展示,用来模仿abaqus Model菜单下的Create对话框。



现在步入正题,分几点介绍RSG的使用。

Layout 布局

和大家比较熟悉的VB、.net不同,ABAQUS所使用的GUI库,其控件的位置不是通过绝对坐标来控制的,而是交给布局管理器来管理。因些,与大家熟悉的直接将控制拖拽到窗体上的操作不同,大家需要首先创建布局管理器,然后才能对控制位置进行布局。这样有背于习惯,但有一个好处就是,最后最出来的效果绝对整齐划一,而但你需要手工定界面时,通过这种机制,也可以免去你不停的计算窗体位置的烦恼。

ABAQUS的GUI库本身是提供丰富布局管理控制的,但RSG只用到了其中六个。只有学会使用布局管理器,才能用好RSG及abaqus的GUI库,实现美观的GUI界面。




[*]Group Box 带标题的框架,就把几个控件用线框起来,然后在上面写一个标题。将相近的控件放在一个这样的框框内,可以区分功能。

[*]Horizontal Frame 水平布局管理器,可以将它里面的控件水平排列。

[*]Vertical Frame 垂直布局管理器,可以将它里面的控件竖直排列。

[*]Vertical Aligner 垂直对齐布局管理器,这个布局管理器很有用,一般用在文本框这种复合控件上面。可以实现文档框的标签和输入框分别对齐的效果。

[*]Tab Book 标签页容器,用来组织标签。

[*]Tab 标签。

要说明的是布局管理器是可以嵌套使用的,大多数时候仅通过水平和垂直布局管理器的使用,就可以实现复杂的界面布局。

基本操作

点击右侧各式各样的控制的,就可以将其添加到RSG的树形列表当中。
完成添加之后,通过工具栏上的箭头按钮对其进行操作。


[*]上箭头,将控件位置上移。

[*]下箭头,将控件位置下移。

[*]左箭头,将控件移出当前布局管理器。

[*]右箭头,将控件移入下方紧邻的布局管理器。

特殊说明

点击一些布局管理器,右侧会出现布局管理器的属性,有两个选项要注意一下:


[*]strech   widget to width of parent
表示将布局管理器拉伸和父窗体一样宽。 通常在水平方向该位置只有一个布局管理器时勾选这个。

[*]strech   widget to heigth of parent
表示将布局管理器拉伸和父窗体一样高。 通常在垂直方向该位置只有一个布局管理器时勾选这个。

保存RSG文件时,有两个选项,一个是RSG格式,可以让我们再次用RSG打开进行修改,另一个是普通格式,保存成这个格式之后,无法用RSG进行修改了,只能手工修改里面的界面代码。

示例这是完成的界面的树形列表的示例。



未完待续

RSG提供了一个方便快速的功能,使我们可以在做界面雏形时达到快速开发的效果。绘制完的GUI界面也可以保存成普通的格式,我们可以进行进一步的修改。或者都交给RSG来做吧。

绘制界面只是我们要做的工作的一小部分,接下来还要讲怎么样把绘制好的界面和编辑好的脚本绑定连接起来。

下载:
.py文件是RSG生成的文件,可以用RSG打开

Hansha 发表于 2011-9-26 08:55:03

LZ,我帮你编辑了一下,改正了一些错处,有些地方重新排列了一下。有不妥之处请告知。

JingheSu 发表于 2011-9-26 16:30:45

大赞

gocadcam 发表于 2011-9-26 20:19:35

本帖最后由 gocadcam 于 2011-9-26 20:27 编辑

大家可以试试下面这个按钮,会有一个5分钟的快速教程

Help原文如下 SIMULIA\Abaqus\6.10-1\Help\HTMLFiles\usi-plg-example-rsg.html
79.4 Creating dialog boxes with the Really Simple GUI (RSG) Dialog Builder

Using the RSG dialog builder is an alternative to using the Abaqus GUI Toolkit commands and a text editor to create dialog boxes. The Really Simple GUI (RSG) Dialog Builder plug-in enables you to create dialog boxes and connect them to kernel commands without writing any code. You select items from a toolbox to add them to an empty dialog box and edit their properties.
The RSG dialog builder provides access to a subset of the commands in the Abaqus GUI Toolkit, but it requires no programming experience to produce a working dialog box. The dialog boxes that you create become new plug-ins to Abaqus/CAE. You can save them as either RSG plug-ins or standard plug-ins, but you can only edit RSG plug-ins with the RSG dialog builder. You must use a text editor to edit standard plug-ins. However, saving an RSG dialog box as a standard plug-in allows an experienced programmer to extend the dialog's functionality by selecting from the complete set of Abaqus GUI Toolkit commands.
The RSG dialog builder plug-in includes a “Five minute tour” that describes and shows some of the basic functions that you can use to build a custom dialog box. The tour iconis located at the upper left corner of the GUI tabbed page in the RSG Dialog Builder.

勇敢的海豚 发表于 2011-12-8 09:07:41

你好,我想请教下如何做出GUI的像旋转平移之类的小图标吗?

nbiao 发表于 2012-4-21 18:41:39

勇敢的海豚 发表于 2011-12-8 09:07 static/image/common/back.gif
你好,我想请教下如何做出GUI的像旋转平移之类的小图标吗?

你指的是工具栏吧

其实就是个按钮了, 你把你做的东西和这个按钮连起来就行,该弹界面弹界面,该运行命令运行命令

之前有一个GUI例子,那个例子就是带工具栏按钮的,你搜一下吧。。。。

dmxhy001 发表于 2019-8-8 18:04:48

感谢楼主分享,受教了

aqustut 发表于 2019-11-14 16:19:27

好好学习ABAQUS

kele7987 发表于 2020-1-16 10:05:09

标记下,谢谢分享

a554178555 发表于 2021-2-17 11:55:07

学到了,谢谢
页: [1]
查看完整版本: 教程:如何用RSG快速绘制GUI界面