Я использую 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);
}
void QHeaderView::setSectionResizeMode(int logicalIndex, ResizeMode mode)
? - person trompa   schedule 24.07.2013