Доброго времени суток
C++ (Qt)
#include "filemanager.h"
#include "ui_filemanager.h"
filemanager::filemanager(QWidget *parent) :
QDialog(parent),
ui(new Ui::filemanager)
{
ui->setupUi(this);
modeldir = new QFileSystemModel(this);
modeldir->setFilter(QDir::NoDotAndDotDot | QDir::Files | QDir::AllDirs);
modeldir->setRootPath(QString("/"));
ui->treeView->setModel(modeldir);
ui->treeView->setSortingEnabled(true);
ui->treeView->setRootIsDecorated (false);
}
filemanager::~filemanager()
{
delete modeldir;
delete ui;
}
void filemanager::on_treeView_doubleClicked(const QModelIndex &index)
{
QString sPath = modeldir->fileInfo(index).absoluteFilePath();
if (sPath == QString("/"))
modeldir->setFilter(QDir::NoDotAndDotDot | QDir::Files | QDir::AllDirs);
else
modeldir->setFilter(QDir::NoDot | QDir::Files | QDir::AllDirs);
ui->treeView->setRootIndex(modeldir->setRootPath(sPath));
}
все нормально работает без
C++ (Qt)
ui->treeView->setRootIsDecorated (false);
но как только я эту строку добавил в конструктор, дабы избавиться от "+" После нескольких прощелкиваний по директориям появляются "+" на директорию по которой щескал, и сбивается фильтер. Проверял на нескольких дистрибутивах и на QT 4.7.4 b 4.8.3 одно и тоже
походу, Баг ?