覆盖 addAction() 以修改 pyqt 中的字符串和 QIcon

Override addAction() to modify string and QIcon in pyqt

我想重写 pyqt 中的函数 addAction() 以便每次在我的中添加项目时都可以修改我的字符串和图标(或者如果已指定 none,则添加默认的) QMenu class。这是代码:

Python代码

class Menu(QtWidgets.QMenu):

    def __init__(self, parent=None):
        super(Menu, self).__init__(parent)

        self.addAction("First thing")
        self.addAction("Second Thing")

    def addAction(self, *__args):
        *Modify string and icon

想要的结果将是一个包含这些字符串(和一个图标)的菜单:

1. First thing
2. Second Thing

如你所见QAction addAction(self, QIcon icon, QString text)可以有一个QIcon作为参数。这就是我创建 QMenu 的方式:

_menu = QMenu()

#Define action
_add_action     = _menu.addAction(QIcon("images\add.png"),"Add")
_remove_action  = _menu.addAction(QIcon("images\remove.png"),"Remove")

#Asign events to actions
self.connect(_add_action, SIGNAL("triggered()"), self._add_handle)
self.connect(_remove_action, SIGNAL("triggered()"), self._remove_handle)