That's a lot of geekism for adding a hotkey to an existing action :-D
We definitely need to make this more user friendly.
On 10/08/2016 09:43 PM, Antony Nasce wrote:
Hey Joerg,
Firstly, might've been a typo, but it should be:
from *hiero.ui* import findMenuAction
(not hiero.core)
Next, one of the nice things about findMenuAction is that it can find
actions by the QAction's objectName, rather than just the action
title. This is useful to avoid ambiguity, when you have actions with
the same name for instance, e.g. 'Timeline' in the Workspace menu, and
'Timeline' on the top level menu bar.
Here's the help on findMenuAction:
------------------------------------
"findMenuAction(name)
Find a QAction in the main menubar. The 'name' parameter specifies the
name of the action.
The name may be either an internal action name or a display name. e.g.
'Cut', or (better) 'foundry.application.cut'."
------------------------------------
So the recommended way to use findMenuAction is to find via the
action's objectName (if its been set!)
If you run the code below you'll see how the objectNames for the top
level menubar actions appear internally:
M = hiero.ui.menuBar()
for act in M.actions():
objectName = act.objectName()
if objectName:
print act.objectName()
(Note, to retrieve the actual QMenu object for these top level menu
actions, you need to call act.*menu()* on them)
You can set an action's objectName via:
action.setObjectName('my.amazing.action')
Then findMenuAction can work with this objectName:
findMenuAction('my.amazing.action')
Another nice thing to do if you want to retrieve an action and use it
somewhere is to register it internally, via hiero.ui.registerAction(
action )
You can then retrieve it using hiero.ui.findRegisteredAction
I hope this helps, let us know how you get on!
Cheers,
Ant
---------- Forwarded message ----------
From: *Frank Rueter|OHUfx* <[email protected] <mailto:[email protected]>>
Date: Fri, Oct 7, 2016 at 6:44 AM
Subject: Re: [Nuke-python] Nuke Studio assigning Menu Shortcuts
To: [email protected]
<mailto:[email protected]>
Wasn't there this weird issue where you had to put everything into
the edit menu as well if you want the hotkey to work?
Try that and see if it works.
On 10/07/2016 05:46 PM, Joerg Bruemmer wrote:
Hey guys,
what am I doing wrong here:
from hiero.core import findMenuAction
from PySide import QtGui
menuItem = findMenuAction('my menu')
menuItem.setShortcut(QtGui.QKeySequence('Alt+G'))
I have that in my StartupUi folder as .py, but it does not get
picked up. Running it in script editor in UI works though.
Thanks,
Joerg
_______________________________________________
Nuke-python mailing list
[email protected]
<mailto:[email protected]>,http://forums.thefoundry.co.uk/
<http://forums.thefoundry.co.uk/>
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
<http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python>
_______________________________________________ Nuke-python
mailing list [email protected]
<mailto:[email protected]>,
http://forums.thefoundry.co.uk/ <http://forums.thefoundry.co.uk/>
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
<http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python>
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python