I usually write a small function to create QActions. But PyQt5 doesn\'t support function SIGNAL() anymore. I don\'t know how to rewrite this function beautifully.
The problem here is about use a string (by name) to reference a signal.
There are three ways to connect signals under PyQt5. see connecting signals by kwargs So I come out with this solution.
def createAction(self, text, slot=None, signal='triggered'):
action = QAction(text, self)
signal_dict = {'triggered':action.triggered, 'changed':action.changed,
'toggled':action.toggled, 'hovered':action.hovered }
if slot is not None:
# self.connect(action, SIGNAL(signal), slot)
signal_dict[signal].connect(slot)
return action