es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Maya: El menú personalizado no está apareciendo en la barra de menú.

Estoy tratando de construir un menú personalizado en Maya. Google Groups tiene este código y muestra que funciona, pero cuando lo intento, no aparece en la barra de menú para mí. He estado intentándolo durante horas. ¿Qué más se requiere para que aparezca en el menú? Es decir, ¿por qué no aparece en la barra de menú de Maya?

Enlace: https://groups.google.com/g/python_inside_maya/c/XqM7Rkm2kOE

import pymel.core as pm

Nombre de la variable global para la ventana de Maya

MainMayaWindow = pm.language.melGlobals[‘gMainWindow’]

Construir un menú y ubicarlo debajo de la ventana de Maya

customMenu = pm.menu(‘Custom Menu’, parent=MainMayaWindow)

Construir un elemento de menú y ubicarlo debajo del ‘customMenu’

pm.menuItem(label=”menu item ‘hihi'”, command=”print ‘hihi'”, parent=customMenu)

edit:
cuando se consultan los menús, sí aparece en la lista

maya_main_window = mel.eval(“$tmpVar = $gMainWindow”)

menus = cmds.window(maya_main_window, query=True, menuArray=True)
for menu in menus:
print menu

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para crear un menú personalizado en Maya, puedes usar el código proporcionado en el enlace de Google groups. Sin embargo, a veces el menú no aparece en la barra de menú aunque el código parece funcionar. En este caso, se pueden revisar algunas cosas:

    1. Revisar el nombre de la variable para la ventana de Maya:

    El código utiliza la variable MainMayaWindow para referirse a la ventana de Maya. Esta debe ser la variable correcta, pero vale la pena verificar que coincida con el nombre de variable en tu versión de Maya. Una forma de verificar esto es ejecutar el siguiente código en el script editor:

    import maya.cmds as cmds
    maya_main_window = mel.eval("$tmpVar = $gMainWindow")
    print(maya_main_window)
    

    Esto imprimirá el nombre de la ventana de Maya en el script editor. Asegúrate de que MainMayaWindow en el código del menú personalizado coincida con el nombre impreso por este código.

    1. Revisa la ruta del menú:

    Cuando creas el menú personalizado, especificas una ruta para que aparezca en la barra de menú. En el código proporcionado, la ruta es simplemente 'Custom Menu'. Asegúrate de que esta ruta no entre en conflicto con ningún elemento de menú existente y que esté escrita correctamente. También puedes intentar agregar un sub-menú a un elemento de menú existente para ver si aparece en la barra de menú.

    1. Revisa la salida de la consulta:

    Cuando consultas los menús utilizando el código proporcionado, asegúrate de que el elemento de menú que buscas realmente esté en la lista. Si lo está, entonces el problema puede ser con el código que crea el menú personalizado en sí. Si no lo está, entonces el problema puede estar en la ruta del menú o en el nombre de la variable.

    En general, crear un menú personalizado en Maya puede ser difícil y puede requerir algunas soluciones de problemas. Ten en cuenta que el código proporcionado puede no funcionar para todas las versiones de Maya o todas las configuraciones del sistema, por lo que es posible que se necesiten algunas modificaciones.

Comments are closed.