1、添加文本框
代码:
xxxxxplugin.py
self.keyword01Kw = AFXStringKeyword(self.cmd, 'keyword01', True, '')
xxxxxDB.py
AFXTextField(p=self, ncols=12, labelText='Label:', tgt=form.keyword01Kw, sel=0)
#p 代表父元素 nclos 文本框的长度 tgt消息目标 sel代表消息ID
说明:在GUI开发中,tgt和sel大致有三种情况
1、tgt =关键字,sel=0 或 非0。以收集数据为目标,作为内文件的参数。(文本框、按钮、列表、下拉列表、单选框、复选框)ID=0,tgt的关键字作为值,ID>0,tgt的关键字为选择模式。
2、tgt =类的实例对象,sel=AFXMode.ID_ACTIVATE
3、tgt=self ,sel =自定义ID
后两种的设置方法,他的用途不是控制控件,而是在DB文件下实现一些小的外部功能。例如设置按钮实现打印信息。
2、添加布局方向框
代码:
xxxxxDB.py
横向布局
HFrame_2 = FXHorizontalFrame(p=self, opts=0, x=0, y=0, w=0, h=0,
pl=0, pr=0, pt=0, pb=0)
AFXTextField(p=HFrame_2, ncols=12, labelText='x_layout1:', tgt=form.keyword01Kw, sel=0)
AFXTextField(p=HFrame_2, ncols=18, labelText='x_layout2:', tgt=form.keyword02Kw, sel=0)
竖向布局
VFrame1 = FXVerticalFrame(p=self, opts=0, x=0, y=0, w=0, h=0,
pl=0, pr=0, pt=0, pb=0)
AFXTextField(p=VFrame1, ncols=18, labelText='y_layout1:', tgt=form.keyword03Kw, sel=0)
AFXTextField(p=VFrame1, ncols=18, labelText='y_layout2:', tgt=form.keyword04Kw, sel=0)
说明:opts 为控件样式,具体参数参考abaqus官方文档。pl,pr,pt,pb分别为控件左右上下所留的空白。
3、垂直对齐器
代码:
xxxxxDB.py
VAligner_1 = AFXVerticalAligner(p=self, opts=0, x=0, y=0, w=0, h=0,
pl=0, pr=0, pt=0, pb=0)
AFXTextField(p=VAligner_1, ncols=12, labelText='vertical-align:', tgt=form.keyword05Kw, sel=0)
AFXTextField(p=VAligner_1, ncols=12, labelText='vertical', tgt=form.keyword06Kw, sel=0)
4、组框
代码:
xxxxxDB.py
GroupBox_1 = FXGroupBox(p=self, text='Title', opts=FRAME_GROOVE|LAYOUT_FILL_X)
AFXTextField(p=GroupBox_1, ncols=12, labelText='cropBOX:', tgt=form.keyword07Kw, sel=0)
AFXTextField(p=GroupBox_1, ncols=12, labelText='cropBOX:', tgt=form.keyword08Kw, sel=0)
说明:opts 为控件样式,具体参数参考abaqus官方文档。
5、标签框架
代码:
xxxxxDB.py
TabBook_1 = FXTabBook(p=self, tgt=None, sel=0,
opts=TABBOOK_NORMAL|LAYOUT_FILL_X,
x=0, y=0, w=0, h=0, pl=DEFAULT_SPACING, pr=DEFAULT_SPACING,
pt=DEFAULT_SPACING, pb=DEFAULT_SPACING)#组件
tabItem = FXTabItem(p=TabBook_1, text='Tab', ic=None, opts=TAB_TOP_NORMAL,
x=0, y=0, w=0, h=0, pl=6, pr=6, pt=DEFAULT_PAD, pb=DEFAULT_PAD)
TabItem_1 = FXVerticalFrame(p=TabBook_1,
opts=FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X,
x=0, y=0, w=0, h=0, pl=DEFAULT_SPACING, pr=DEFAULT_SPACING,
pt=DEFAULT_SPACING, pb=DEFAULT_SPACING, hs=DEFAULT_SPACING, vs=DEFAULT_SPACING)
AFXTextField(p=TabItem_1, ncols=12, labelText='Label:', tgt=form.keyword04Kw, sel=0)
AFXTextField(p=TabItem_1, ncols=12, labelText='Label:', tgt=form.keyword05Kw, sel=0)
tabItem = FXTabItem(p=TabBook_1, text='Tab', ic=None, opts=TAB_TOP_NORMAL,
x=0, y=0, w=0, h=0, pl=6, pr=6, pt=DEFAULT_PAD, pb=DEFAULT_PAD)
TabItem_2 = FXVerticalFrame(p=TabBook_1,
opts=FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X,
x=0, y=0, w=0, h=0, pl=DEFAULT_SPACING, pr=DEFAULT_SPACING,
pt=DEFAULT_SPACING, pb=DEFAULT_SPACING, hs=DEFAULT_SPACING, vs=DEFAULT_SPACING)
AFXTextField(p=TabItem_2, ncols=12, labelText='Label:', tgt=form.keyword06Kw, sel=0)
AFXTextField(p=TabItem_2, ncols=12, labelText='Label:', tgt=form.keyword07Kw, sel=0)
6、标签
代码:
xxxxxDB.py
GroupBox_1 = FXGroupBox(p=self, text='Title', opts=FRAME_GROOVE)
l = FXLabel(p=GroupBox_1, text='Label', opts=JUSTIFY_LEFT)#
7、图片
代码:
xxxxxDB.py
fileName = os.path.join(thisDir, 'icon.png')
icon = afxCreatePNGIcon(fileName)
FXLabel(p=GroupBox_1, text='photo', ic=icon)
8、复选框
代码:
xxxxxDB.py
FXCheckButton(p=GroupBox_1, text='Text', tgt=form.keyword01Kw, sel=0)
xxxxxplugin.py
self.keyword01Kw = AFXBoolKeyword(self.cmd, 'keyword01', AFXBoolKeyword.TRUE_FALSE, True, True)
AFXBoolKeyword中第一个True代表此参数是不是必须参数,若是,则为true ,第二个True则为默认值。
第三个参数位置为布尔类型。也就是关键字选项的返回值
9、单选框
xxxxxDB.py
GroupBox_2 = FXGroupBox(p=self, text='option', opts=FRAME_GROOVE)
FXRadioButton(p=GroupBox_2, text='YES', tgt=form.GroupBox2Kw1, sel=4)
FXRadioButton(p=GroupBox_2
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删