maya视口改变来激活脚本作业scriptjob?
import maya.cmds as mc
import scripts.UI.Ky_UI_ID as ID # 导入maya视图ID名称 ['modelPanel1', 'modelPanel2', 'modelPanel3', 'modelPanel4']
def viewTest(*args):
"""这个是检查视图是否改变"""
if not hasattr(viewTest, "_value"): # 建立变量
viewTest._value = 1.0 # 建立变量
viewport_width = mc.control(ID.MAYA_VIEW_ID, query=True, width=True) #获取maya视口宽度
if viewTest._value == viewport_width: # 如果宽度没有改变 则返回
return
print("视口宽度改变了")
viewTest._value = viewport_width #从新存储变量
def viewTest01(*args):
# mc.evalDeferred(lambda: mc.scriptJob(event=["idle", viewTest],protected=True)) # 使用这个,会使maya在打开的过程中造成卡界面,无法进入视图
# mc.evalDeferred(lambda: mc.scriptJob(event=["idleHigh", viewTest],protected=True)) # 使用这个,会使maya在打开的过程中造成卡界面,无法进入视图
mc.evalDeferred(lambda: mc.scriptJob(event=["idleVeryLow", viewTest],protected=True)) # 使用这个则没用任何问题
if __name__ == "__main__":
viewTest01()
这个是我废了九牛二虎之力,一个一个资料的查,一个一个的测试才找到的解决办法。
给我点点赞看看。