Hehe, yeah, I suppose it is a lot for what should be a simple task - just thought I'd give the full Geek-spiel for completeness :)
But it does give a lot of power, and again, avoids ambiguity with actions that can have the same title. (though you're right about needing to be user friendly - perhaps a 'Customising the UI' section needs to be added to the Python Dev Guide, with examples...) Joerg - I meant to ask, how/where is your 'my menu' action being added? On 10 October 2016 at 00:40, Frank Rueter|OHUfx <[email protected]> wrote: > 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]> >> Date: Fri, Oct 7, 2016 at 6:44 AM >> Subject: Re: [Nuke-python] Nuke Studio assigning Menu Shortcuts >> To: [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 [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 >> > _______________________________________________ > Nuke-python mailing [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 >
_______________________________________________ Nuke-python mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
