我正在为我的项目创建一个应用程序,
我的方案是:我选择目录并在QTreeview中显示树文件夹,之后我会在文件夹上单击,它会显示“删除”菜单。当我推它时,我选择的文件夹将被删除。
一切都很好,直到我右键点击QTreeview,我的应用程序中间关闭。和错误:
Traceback(最近一次调用最后一次):文件 “C:/Users/Administrator/PycharmProjects/untitled/Library/test.py” 第114行,在showMenu中 self.delete.connect(self.removeButton())TypeError:PySide.QtCore.QObject.connect():没有足够的参数
这是我的代码:
def showMenu(self, pos):
menu = QtGui.QMenu(self)
self.delete = QtGui.QAction("Delete",menu)
menu.addAction(self.newfolder)
menu.popup(self.folders_lv.viewport().mapToGlobal(pos))
self.delete.connect(self.removeButton())
def removeButton(self):
self.deleteLater()
谢谢。
答案 0 :(得分:1)
您没有正确连接信号。 QAction
有several signals,您需要将其中一个连接到方法或函数。因此,要将triggered
信号连接到removeButton
方法,请执行以下操作:
self.delete.triggered.connect(self.removeButton)