QTableView列-无法设置较小的宽度

时间:2019-12-13 12:20:02

标签: c++ qt qtableview qheaderview

我有两个具有自己简单模型的QTableView。 完成以下操作后:

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

我有这张照片:

enter image description here

这就是我想要的:

enter image description here

我尝试过的事情:

  • 在模型中的headerData中创建sizehintrole并返回我自己的大小;
  • 将setSectionResizeMode更改为ResizeToContent
  • 通过“ setColumnWidth”设置是否设置调整大小的每列宽度
  • 使用sizehint重载我想要的大小来创建自己的代理人
  • 设置样式表,填充为0px;到QTableView,QTableView :: section,QTableView :: item
  • 使用“ header-> setDefaultSectionSize”

这些都没有。我非常渴望用QPainter从零开始绘制表格,或者跟随每个源文件观看实际大小。但在此之前,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以尝试通过以下方式将水平标题的最小部分大小设置为零:

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

(文档here)。