python - 用于更新复选框标签的 RadioButton 开关
问题描述
想要在按钮状态更改以更新文本标签时设置单选按钮。下面是代码。非常感谢。
import maya.cmds as cmds
import pymel.core as pm
class Ui():
def __init__(self):
windowID = 'testWin'
uiName = "Test Win"
if pm.window(windowID, exists=1):
pm.deleteUI(windowID)
tmpl = pm.uiTemplate(windowID+'_uiTmpl', force=1)
wnd = pm.window(windowID, t=uiName, s=1, rtf=1, toolbox=1)
with tmpl:
with pm.horizontalLayout() as skinLayout1:
pm.radioCollection("tmp")
pm.radioButton("tmpX", l="X", da=0, onc=self.switchCmd())
pm.radioButton("tmpY", l="Y", da=1, onc=self.switchCmd(), sl=1)
pm.radioButton("tmpZ", l="Z", da=2, onc=self.switchCmd())
pm.checkBox("checkBox", l="X", v=1)
wnd.show()
def switchCmd(self, *arg):
if pm.radioButton("tmpX", q=1, sl=1) == 1:
dir = "Z"
elif pm.radioButton("tmpY", q=1, sl=1)== 1:
dir = "X"
elif pm.radioButton("tmpZ", q=1, sl=1) == 1:
dir = "Y"
pm.checkBox("checkBox", e=1, l=dir)
return
Ui()
现在我尝试编码并得到错误。“运行时错误:找不到对象 'tmpX'。”
解决方案
您的 on 命令定义不正确,如果您使用 self.switchCmd() 该方法将直接执行,您将不得不使用不带括号的 onc=self.switchCmd。
推荐阅读
- python - 必填 POST 请求 DRF 时出错
- laravel - 在 npm run dev 期间未找到 npm 依赖项
- python - 优化 Numba 和 Numpy 功能
- firebase - Google Cloud Firestore Functions 是否会在其他 Cloud Functions 的 Firestore 交互时触发?
- sql - 如何设置列的最大值
- android-studio - 尽管“flutter devices”命令显示,但在 Flutter Android Studio 中未检测到 iPhone
- javascript - 在 Photoshop 中访问活动文档路径的子文件夹
- r - 图例出现在页面中的错误位置 (R):未完全显示
- javascript - 带有异步生成器功能的“TypeError:对象不是异步可迭代的”
- android - 如何拒绝管理员调用 Firebase 函数?