右键菜单代码不会运行

Right click menu code will not run

我正在尝试创建一个在我单击鼠标右键时出现的菜单,我遵循了一些教程,但是当我将它们放入我的代码中并更改它们时,它们将不起作用。

这是我的代码:

def First(self):
    FirstFrame = QtGui.QFrame()
    FirstFrame.setFixedSize(230,660)
# LIST VIEW FOLDER
    self.folders_lv = QtGui.QTreeView()
    self.folders_lv.

# DEFINE THE FUNCTION FOR FIRST FRAME
    Firstbox = QtGui.QGridLayout()
    Firstbox.addWidget(self.folders_lv,3,0,1,4)
    Firstbox.setColumnStretch(1, 1)
    FirstFrame.setLayout(Firstbox)

    self.folders_lv.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
    self.customContextMenuRequested.connect(self.showMenu())

    return FirstFrame


def showMenu(self, pos):
    menu= QtGui.QMenu(self)
    menu.addAction(QtGui.QAction("Item 1", menu))
    menu.addAction(QtGui.QAction("Item 2", menu))
    menu.addAction(QtGui.QAction("Item 3", menu))
    menu.popup(self.mapToGlobal(pos))

连接信号时需要传递函数object,所以去掉括号:

   self.folders_lv.customContextMenuRequested.connect(self.showMenu)

此外,在 showMenu 槽中,您可能需要:

   menu.popup(self.folders_lv.viewport().mapToGlobal(pos))