深入ABAQUS GUI的Python二次开发

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


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空