您如何从 Pymel LayoutDialog 获得用户选择?

问题描述

以下代码取自此处的 pymel 文档:https://help.autodesk.com/cloudhelp/2020/ENU/Maya-Tech-Docs/PyMel/generated/functions/pymel.core.windows/pymel.core.windows.layoutDialog.html

尽管该示例名为 checkBoxPrompt,但并未显示如何检索复选框的状态。 pm.layoutDialog 函数仅返回用于关闭对话框的按钮选择。同一命令的 MEL 和 Maya.cmds 文档也没有解释这一点。那么它是如何完成的呢?

 
import pymel.core as pm

def checkBoxPrompt():
    # Get the dialog's formlayout.
    #
    form = pm.setParent(q=True)

    # layoutDialog's are not resizable,so hard code a size here,# to make sure all UI elements are visible.
    #
    pm.formlayout(form,e=True,width=300)

    t = pm.text(l='What do you want to do?')

    b1 = pm.button(l='Abort',c='pm.layoutDialog( dismiss="Abort" )' )
    b2 = pm.button(l='Skip',c='pm.layoutDialog( dismiss="Skip" )' )
    b3 = pm.button(l='Continue',c='pm.layoutDialog( dismiss="Continue" )' )

    cb1 = pm.checkBox(label='Remember my choice')

    spacer = 5
    top = 5
    edge = 5

    pm.formlayout(form,edit=True,attachForm=[(t,'top',top),(t,'left',edge),'right',(b1,(b3,(cb1,'bottom',spacer)],attachNone=[(t,'bottom'),(b2,'right')],attachControl=[(b1,spacer,t),b1)],attachPosition=[(b1,33),66),66)])

print pm.layoutDialog(ui=checkBoxPrompt)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)