PyQt右键单击QComboBox的菜单

石化家

我正在尝试通过右键单击菜单扩展QComboClass,并为它提供一个将当前索引设置为-1(清除选择)的选项。我在调用上下文菜单甚至右键单击事件时遇到了麻烦。

class ComboBox(QComboBox):
    def __init__(self, *args, **kwargs):
        super(ComboBox, self).__init__()
        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self.showMenu)

    def showMenu(self, pos):
        menu = QMenu()
        clear_action = menu.addAction("Clear Selection", self.clearSelection)
        action = menu.exec_(self.mapToGlobal(pos))

    def clearSelection(self):
        self.setCurrentIndex(-1)

有人可以告诉我我在做什么错吗?

泰兰

你可以试试这个吗

def showMenu(self,event):
    menu = QMenu()
    clear_action = menu.addAction("Clear Selection", self)
    action = menu.exec_(self.mapToGlobal(event.pos()))
    if action == clear_action:
        self.clearSelection()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章