更改嵌套菜单中的图标

问题描述 投票:1回答:1

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

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

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

enter image description here

python pyqt pyqt4 qmenu
1个回答
1
投票

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

但是有一个技巧可以改变它。

指标的真相是"branch-closed png file"

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

因此,它不能通过纯编程方式解决。

您自己准备好照片。

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

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

注意:

stylesheet-branch-closed-red.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)

结果,它会变成这样。

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

没问题,你可以用一个免费的软涂料清楚地删除它们,但我没有这样做,因为它是不必要的。

branch-png

© www.soinside.com 2019 - 2024. All rights reserved.