许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Abaqus GUI开发常用控件(四):复选框(FXCheckButton)使用方法

Abaqus GUI开发常用控件(四):复选框(FXCheckButton)使用方法

阅读数 8
点赞 0
article_banner

复选框指可以同时选中多个选项的按钮。

复选框的基本语法

FXCheckButton(p, text, tgt=None, sel=0, opts=CHECKBUTTON_NORMAL,
        x=0, y=0, w=0, h=0, pl=DEFAULT_PAD,
        pr=DEFAULT_PAD, pt=DEFAULT_PAD, pb=DEFAULT_PAD)

参数的含义和前面的单选框、按钮都差不多,在这不再展示。

注意:每个复选框对应一个关键字,推荐使用RSG对话框对构造器中创建复选框,方便快捷。

实例 演示

本实例是一个简单的复选框测试插件,主要由图形界面文件【testcheckbuttonDB.py】以及 注册 文件【testcheckbutton_plugin.py】组成。

判断复选框是否被选中

对于复选框按钮,其关键字的返回值为True或者False,例如上述实例中复选框“SOLID”对应的关键字分别为ele_solid,如果该复选框被勾选了,则ele_solid值为True,反之为False。因此在内核文件中添加一个if语句即可判断其是否被选中。

def testcheckbutton(ele_solid,ele_shell):	if cle_solid =-True:		#表示被勾选		#省略执行代码	else:		#表示未被勾选		#省略执行代码

附代码

【testcheckbutton_plugin.py】

from abaqusGui import *from abaqusConstants import ALLimport osutils, os  ############################################################################ Class definition########################################################################### class testcheckbutton_plugin(AFXForm):     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    def __init__(self, owner):                # Construct the base class.        #        AFXForm.__init__(self, owner)        self.radioButtonGroups = {}         self.cmd = AFXGuiCommand(mode=self, method='',            objectName='', registerQuery=False)        pickedDefault = ''        self.ele_solidKw = AFXBoolKeyword(self.cmd, 'ele_solid',             AFXBoolKeyword.TRUE_FALSE, True, True)        self.ele_shellKw = AFXBoolKeyword(self.cmd, 'ele_shell',             AFXBoolKeyword.TRUE_FALSE, True, False)     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    def getFirstDialog(self):         import testcheckbuttonDB        return testcheckbuttonDB.testcheckbuttonDB(self)     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    def doCustomChecks(self):         # Try to set the appropriate radio button on. If the user did        # not specify any buttons to be on, do nothing.        #        for kw1,kw2,d in self.radioButtonGroups.values():            try:                value = d[ kw1.getValue() ]                kw2.setValue(value)            except:                pass        return True     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    def okToCancel(self):         # No need to close the dialog when a file operation (such        # as New or Open) or model change is executed.        #        return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# Register the plug-in#thisPath = os.path.abspath(__file__)thisDir = os.path.dirname(thisPath) toolset = getAFXApp().getAFXMainWindow().getPluginToolset()toolset.registerGuiMenuButton(    buttonText='test checkbutton',     object=testcheckbutton_plugin(toolset),    messageId=AFXMode.ID_ACTIVATE,    icon=None,    kernelInitString='',    applicableModules=ALL,    version='N/A',    author='N/A',    description='N/A',    helpUrl='N/A')

【testcheckbuttonDB.py】

from abaqusConstants import *from abaqusGui import *from kernelAccess import mdb, sessionimport osthisPath = os.path.abspath(__file__)thisDir = os.path.dirname(thisPath)class testcheckbuttonDB(AFXDataDialog):    def __init__(self, form):        AFXDataDialog.__init__(self, form, 'Test Check Button',            self.OK|self.CANCEL, DIALOG_ACTIONS_SEPARATOR)        okBtn = self.getActionButton(self.ID_CLICKED_OK)        okBtn.setText('OK')                  GroupBox_1 = FXGroupBox(p=self, text='Element type', opts=FRAME_GROOVE)        FXCheckButton(p=GroupBox_1, text='SOLID', tgt=form.ele_solidKw, sel=0)        FXCheckButton(p=GroupBox_1, text='SEHLL', tgt=form.ele_shellKw, sel=0)


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


相关文章
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
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空