how to add a right click menu to each cell of QTableView in PyQt

前端 未结 2 439
说谎
说谎 2020-12-08 08:38

I want to add a right click menu to delete, rename or open image in each of cell of QTAbleView in the rigt click menu, I have tried and found everyone is trying to add menu

2条回答
  •  执念已碎
    2020-12-08 08:52

    I finally implemented it this way!!

    def contextMenuEvent(self, pos):
        if self.selectionModel().selection().indexes():
            for i in self.selectionModel().selection().indexes():
                row, column = i.row(), i.column()
            menu = QtGui.QMenu()
            openAction = menu.addAction("Open")
            deleAction = menu.addAction("Delete")
            renaAction = menu.addAction("Rename")
            action = menu.exec_(self.mapToGlobal(pos))
            if action ==openAction:
                self.openAction(row, column)
    
    def openAction(self, row, column):
        if self._slideShowWin:
            self._slideShowWin.showImageByPath(self._twoDLst[row][column])
            self._animateUpOpen()
    
    def deleteSelected(self):
        # TODO
        pass
    

    that works like a charm !!!

提交回复
热议问题