我正在使用 QFileSystemModel 和 QTreeView 来显示根目录的内容,现在想在添加或删除驱动器时刷新 qtreeview。
尝试使用刷新按钮通过插槽实现此目的,删除模型并将其再次设置为 QTreeView。但这里的问题是,在第二次将模型设置为视图后,它没有将列宽扩展到其内容。
有没有最好的解决方案来实现这一点。这是一个代码位...
QTreeView fileExplorerTreeView = new QTreeView();
fileExplorerTreeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
fileExplorerTreeView->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
void loadFileExplorer()
{
if(fileSystemModel)
{
delete fileSystemModel;
fileSystemModel = 0;
}
fileSystemModel = new QFileSystemModel;
fileSystemModel->setRootPath("");
fileExplorerTreeView->setModel(fileSystemModel);
QHeaderView* hHeader = fileExplorerTreeView->header();
hHeader->hideSection(1);
hHeader->hideSection(2);
hHeader->hideSection(3);
fileExplorerTreeView->resizeColumnToContents(0);
fileExplorerTreeView->header()->setStretchLastSection(false);
}