我有一个带有以下构建函数的treeView小部件:

void berichtenhistorie::DirectoryDisplay()
{
    QFileSystemModel *dirModel = new QFileSystemModel(this);
    dirModel->setRootPath("path");
    dirModel->setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::AllDirs);
    ui->treeView->setModel(dirModel);
    ui->treeView->setRootIndex(dirModel->index("path"));
    ui->treeView->hideColumn(1);
    ui->treeView->hideColumn(2);
    ui->treeView->setSortingEnabled(true);
    ui->treeView->sortByColumn(3);
    ui->treeView->resizeColumnToContents(0);
    ui->treeView->resizeColumnToContents(3);
}

但是ui->treeView->resizeColumntoContents(#);我没有收到任何错误,但不会调整其大小。看起来像这样:

但这就是它的样子

如何使它正常工作?
谢谢!

最佳答案

我在一个涉及QTableWidget的项目中工作,并使用tablewidget的标题设置了调整大小模式,在documentation of QTreeView上我也看到有标题,那么此代码应该对您有用:

编辑:

如果您使用的是Qt4:

ui->treeView->header()->setResizeMode(0, QHeaderView::ResizeToContents);
ui->treeView->header()->setResizeMode(3, QHeaderView::ResizeToContents);

然后,如果您使用的是Qt5:
ui->treeView->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
ui->treeView->header()->setSectionResizeMode(3, QHeaderView::ResizeToContents);

关于c++ - resizeColumnToContents()不起作用Qt C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20361713/

10-11 21:58
查看更多