Python 更改嵌套菜单中的图标

Python 更改嵌套菜单中的图标,python,pyqt,pyqt4,qmenu,Python,Pyqt,Pyqt4,Qmenu,我认为这是不可能的,但我还是想试着问一下。 在附加的屏幕截图中,我有嵌套的菜单 是否可以将箭头键图标更改为红色框中的“突出显示” 如果没有找到子菜单项,我尝试将箭头键更改为加号图标。 如果找到子菜单项,则可以使用默认箭头 是的,您可以更改右箭头的颜色 但有一个技巧可以改变它 指标的真实性是 您可以在链接页面的底部看到png文件 因此,不能用单纯的程序方法求解 你自己提前准备好照片 请按照QMenu构造函数中的代码进行操作 self.setStyleSheet("QMenu::right-arro

我认为这是不可能的,但我还是想试着问一下。 在附加的屏幕截图中,我有嵌套的菜单

是否可以将箭头键图标更改为红色框中的“突出显示”

如果没有找到子菜单项,我尝试将箭头键更改为加号图标。 如果找到子菜单项,则可以使用默认箭头


是的,您可以更改右箭头的颜色

但有一个技巧可以改变它

指标的真实性是

您可以在链接页面的底部看到png文件

因此,不能用单纯的程序方法求解

你自己提前准备好照片

请按照
QMenu
构造函数中的代码进行操作

self.setStyleSheet("QMenu::right-arrow{image:url(stylesheet-branch-closed-red.png);}")
注意:

样式表分支关闭红色。png
是我重命名的图片

您可以从上面的链接页面下载原始图片

右键单击png图片并另存为名称

此代码来自您过去的问题

class QCustomMenu(QtGui.QMenu):
    """Customized QMenu."""

    def __init__(self, title, parent=None):
        super(QCustomMenu, self).__init__(title=str(title), parent=parent)
        self.setup_menu()
        self.setStyleSheet("QMenu::right-arrow{image:url(stylesheet-branch-closed-red.png);}")
    def setup_menu(self):
        self.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)        
    def contextMenuEvent(self, event):
        no_right_click = [QAddAction]
        if any([isinstance(self.actionAt(event.pos()), instance) for instance in no_right_click]):
            return
        pos = event.pos()

    def addAction(self, action):
        super(QCustomMenu, self).addAction(action)
结果会变成这样

你会不喜欢箭头的白色部分

没问题,你可以用免费的画笔把它们删除,但我没有这样做,因为这是不必要的


将是PYQT4。非常感谢您的详细说明。但是,如果我想将图标重置回其默认图标,是否有可以从(Py)Qt获取它的本地路径?不,没有必要这样做,如果使用默认图标,只需删除setStyleSheet参数。如果是这样,您可以自动使用原始图标。如果您可以使用free-paint.soft并设置适当的路径,则可以将图标更改为任何内容,即使它不是正确的光标(例如,人或动物的脸)。