1 回答

TA贡献1906条经验 获得超3个赞
使用您的代码,您必须首先获取将路径传递给它的QModelIndexusingindex()方法QFileSystemModel,然后调用QTreeView的setCurrentIndex()andedit()方法。
def NewF(self):
d = str(self.model.filePath(self.tree.currentIndex())) + '/New folder'
if not os.path.exists(d):
os.mkdir(d)
ix = self.model.index(d)
QTimer.singleShot(0, lambda ix=ix: self.tree.setCurrentIndex(ix))
QTimer.singleShot(0, lambda ix=ix: self.tree.edit(ix))
或使用如下所示的mkdir()方法QFileSystemModel:
def NewF(self):
ci = self.tree.currentIndex()
ix = self.model.mkdir(ci, "New folder")
QTimer.singleShot(0, lambda ix=ix : self.tree.setCurrentIndex(ix))
QTimer.singleShot(0, lambda ix=ix : self.tree.edit(ix))
添加回答
举报