1

我有两个带有自己简单模型的 QTableView。进行以下操作后:

    tv1->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
    tv1->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
    tv1->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);
    tv1->resizeColumnsToContents();

我有这张照片:

在此处输入图像描述

这就是我想要的:

在此处输入图像描述

我试过的:

  • 在我的模型中的 headerData 中制作 sizehintrole 并返回我自己的大小;
  • 将 setSectionResizeMode 更改为 ResizeToContent
  • 通过“setColumnWidth”设置每列的宽度,有和没有调整大小模式
  • 用我想要的大小让我自己的委托与 sizehint 重载
  • 使用填充 0px 设置样式表;到 QTableView、QTableView::section、QTableView::item
  • 使用“header->setDefaultSectionSize”

这些都没有。我非常绝望地使用 QPainter 从零开始绘制表格,或者按照每个源文件查看实际大小。但在此之前,我将不胜感激任何建议。

4

1 回答 1

1

您可以尝试将水平标题的最小部分大小设置为零,这样:

tv1->horizontalHeader()->setMinimumSectionSize(0);

(此处的文档)。

于 2019-12-13T16:01:46.243 回答