我制作了一个简单的程序,使用QFileSystemModel在QTreeView中显示目录列表。
使用QPushButton,程序正在调用一个创建新目录的插槽,但它从不创建新目录。
这是创建新目录的插槽:
QModelIndex index=viewTreeForModel->currentIndex();
if (!index.isValid()) return;
QString filename=QInputDialog::getText(this, "Enter Name Dialog", "Enter name");
modelFile->mkdir(viewTreeForModel->currentIndex(), filename);
运行时我没有从程序中收到错误消息。
答案 0 :(得分:2)
检查mkdir返回的QModelIndex
是否有效。
您也可以尝试
const bool success = QDir(modelFile->filePath(index)).mkdir(string);
然后检查success
。
另外,我建议将变量string
重命名为newfilename
,这样可以使代码更具可读性。