Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maya Python windowPref命令没有';我不能改变窗口的宽度,但我说可以_Python_User Interface_Window_Maya - Fatal编程技术网

Maya Python windowPref命令没有';我不能改变窗口的宽度,但我说可以

Maya Python windowPref命令没有';我不能改变窗口的宽度,但我说可以,python,user-interface,window,maya,Python,User Interface,Window,Maya,我正在尝试设置非主Maya窗口(hypergraph等)的宽度 但是命令实际上并没有移动它。它返回它确实…这真的很奇怪。有人知道怎么回事吗 openWindows = cmds.lsUI(windows=True) for i, window in enumerate(openWindows): if window != "MayaWindow": widthQueryPre = cmds.windowPref(window, q=True, w=True)

我正在尝试设置非主Maya窗口(hypergraph等)的宽度

但是命令实际上并没有移动它。它返回它确实…这真的很奇怪。有人知道怎么回事吗

openWindows = cmds.lsUI(windows=True)

for i, window in enumerate(openWindows):
    if window != "MayaWindow":

        widthQueryPre = cmds.windowPref(window, q=True, w=True)

        cmds.windowPref(window, e=True, w=200) # Why doesn't this change the window's width?

        widthQueryPost = cmds.windowPref(window, q=True, w=True)

        print i, window, widthQueryPre, widthQueryPost
根据(我正在使用的版本):

创建或修改首选属性窗口属性。大小和位置 在应用程序会话期间和会话之间会保留一个窗口。A. 默认窗口首选项是在窗口关闭时创建的。窗口 首选项必须命名,因此只影响窗口 使用匹配的名称

这意味着使用
windowPref
命令更改的值不是窗口的实际大小,而是默认大小。但是,关闭子窗口时也会调用此命令。并将覆盖您以前对
windowPref
的调用。 子窗口关闭后,必须调用
windowPref
。然后下次打开子窗口时,它的宽度将为200px

总而言之:此命令不会调整当前子窗口的大小,但会设置其默认大小

如果要调整当前窗口的大小,请使用
窗口
命令

for win in cmds.lsUI(type="window"): #Lists all windows (including Pyside/PyQT ones)
    if win != "MayaWindow" and cmds.window(win, query=True, exists=True): #cmds.window(win, query=True, exists=True) checks if the windows really exists (do it, this can be useful)
        cmds.window( win, edit=True, widthHeight=(900, 777) ) #the actual command to resie the windows

太好了,谢谢你的解释和例子!2016年的工作也很棒。