【发布时间】:2012-08-23 04:32:47
【问题描述】:
所以,我使用的是 QTreeWidget 来制作文件树。我可以轻松地创建文件和文件夹。但是当我们谈论子文件夹时问题就来了。例如:
Folder1
Folder1/SubFolder1
Folder1/SubFolder1/SubFolder2
我如何准确地创建子文件夹?这是我制作文件夹的代码:
void Tree::addFolder(const QString &folderName)
{
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setText(0, folderName); // Sets the text.
m_projectItem->addChild(item); // Adds it to the main path. (It's a QTreeWidgetItem)
this->expandItem(item); // Expands.
}
我是否需要创建另一个函数(例如 addSubFolder)来在另一个文件夹中添加文件夹?
【问题讨论】:
-
你需要一个 QTreeWidget,还是你也可以使用一个 QTreeView 和一个 QFileSystemModel?有关示例,请参见 link。
-
您需要在添加子子文件夹时弄清楚父项,即不要将
addChild()添加到您的m_projectItem,而是添加到当前在视图中选择的节点。除此之外 QFileSystemModel 可能确实是更好的选择。
标签: qt directory subdirectory qtreewidget filetree