许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Abaqus GUI开发常用控件(二十四):控制控件启用/禁用状态

Abaqus GUI开发常用控件(二十四):控制控件启用/禁用状态

阅读数 15
点赞 0
article_banner

Abaqus二次开发中,可以通过以下两种方法控制 控件 的使用状态。
(1)通过转换函数addTransition()方便地改变对话框中控件的使用状态,在某个转换机制中会将某关键字的值与指定值进行对比,如果两者匹配,则会向目标对象发送相应的状态控制消息。
(2)采用processUpdates()函数控制控件的使用状态。

一、通过addTransition()控制控件使用状态

1.1 语法

addTransition(target, op, value, tgt, sel, ptr=None)

addTransition(keyword, op, value, tgt, sel, ptr=None)

小tips:op表示比较,大于小于等于之 的,后面会说。

上述两个函数中,当target.getValue() op value或者keyword.getValue() op value指令执行结果为真值时,会将消息地址传递给目标对象tgt(被控对象),从而控制被控对象的使用状态。

1.2  实例展示1:用复选框来控制文本框

本程序将展示用复选框来控制文本框的使用状态,当复选框被勾选时,文本框 可编辑 ,反之,文本框不可编辑。

代码展示:

MKUINT(messageld, messageType)函数可以通过合并消息ID和消息类型来生成消息选择器。

界面文件【test_addTransition_DB.py】 

  1. # -* - coding:UTF-8 -*-
  2. from abaqusConstants import *
  3. from abaqusGui import *
  4. from kernelAccess import mdb, session
  5. class test_addTransition_DB(AFXDataDialog):
  6. ID_Mybutton = AFXDataDialog.ID_LAST
  7. def __init__(self, form):
  8. AFXDataDialog.__init__(self, form, 'Test addTransition',
  9. self.OK|self.CANCEL, DIALOG_ACTIONS_SEPARATOR)
  10. okBtn = self.getActionButton(self.ID_CLICKED_OK)
  11. okBtn.setText('OK')
  12. GroupBox_1 = FXGroupBox(p=self, text='Test addTransition',
  13. opts=FRAME_GROOVE) #创建一个窗口
  14. self.yesno1=FXCheckButton(p=GroupBox_1,
  15. text='Cohesive Element', tgt=form.yesnoKw, sel=0) #创建一个复选框
  16. self.radius1=AFXTextField(p=GroupBox_1, ncols=10,
  17. labelText='radius:', tgt=form.radiusKw, sel=0) #创建一个文本框
  18. self.addTransition(form.yesnoKw, AFXTransition.EQ,
  19. False,self.radius1,
  20. MKUINT(FXWindow.ID_DISABLE, SEL_COMMAND), None)
  21. self.addTransition(form.yesnoKw, AFXTransition.EQ,
  22. True,self.radius1,
  23. MKUINT(FXWindow.ID_ENABLE, SEL_COMMAND), None)
python

注册文件【test_addTransition_plugin.py】 

  1. # -* - coding:UTF-8 -*-
  2. from abaqusGui import *
  3. from abaqusConstants import ALL
  4. import osutils, os
  5. class test_addtransition_plugin(AFXForm):
  6. [
  7. ID_WARNING,
  8. ] = range(AFXForm.ID_LAST, AFXForm.ID_LAST+1)
  9. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  10. def __init__(self, owner):
  11. # Construct the base class.
  12. #
  13. AFXForm.__init__(self, owner)
  14. FXMAPFUNC(self, SEL_COMMAND, self.ID_WARNING,
  15. test_addtransition_plugin.onCmdWarning)
  16. self.radioButtonGroups = {}
  17. self.cmd = AFXGuiCommand(mode=self, method='',
python

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

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

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空