我不知道怎么说这个但是我去了,
程序的这一部分显示了目录中的文件夹和QTreeWidget中的子目录(它加载它们很好)我希望能够创建新文件夹,无论树的深度如何。例如,说我有目录:
data\examples\folders\
然后我右键单击文件夹分支下面的QTreeWidget中的空白区域,我希望能够在其下面创建一个文件夹,以便目录变为:
data\examples\folder\untitled\
我有上下文菜单工作,但无法理解如何实现将新文件夹项目放置在特定深度的方法,因为我不知道我点击的区域的父级
这是我的代码(仅限保留部分):
self.treelist = QtGui.QTreeWidget()
self.treelist.setHeaderLabels(["Name"])
self.treelist.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.treelist.customContextMenuRequested.connect(self.openContextMenu)
openContextMenu函数
def openContextMenu(self,point):
addFolder = QtGui.QAction(QtGui.QIcon("data\\icons\\folder.png"), "&New Folder", self)
addFolder.triggered.connect(self.addFolderToList)
item = self.treelist.itemAt(point)
#Current Mouse Pos
cpos = QtGui.QCursor()
#Context Menu
contextMenu = QtGui.QMenu(self)
#Context Menu Actions
contextMenu.addAction(self.addFolder)
contextMenu.exec_(cpos.pos())
我想要发生的是当触发addFolder操作时,将在我单击的区域的父级下创建一个文件夹。
感谢您抽出宝贵时间阅读本文!