Maya Python编写定时器,实现GUI界面实时更新

Maya GUI界面的更新一直比较头疼,问了下ChatGPT说可以通过定时器来实现Tick函数,于是试了一下。

import maya.cmds as cmds
import threading

def Main(*args):
    win = cmds.window("win", w=260, h=70, t="Tools")

    cmds.columnLayout()
    cmds.text("Test Gui Update")
    cmds.window(win, e=True, w=260, h=70)
    GuiTick(str(win)) #开启定时器
    cmds.showWindow(win)

def GuiTick(win): 
    print("Tick!")
    
    def Exec(win): #这里面内容执行在Maya主线程,才能正常调用API
        if cmds.window(win, exists = True):
            print("your code!")
            threading.Timer(1.0, GuiTick, args=[win]).start() #继续计时器迭代
            
    maya.utils.executeInMainThreadWithResult(Exec, win) #让函数内代码执行在主线程

Main()

猜你喜欢

转载自blog.csdn.net/grayrail/article/details/129422733