【问题标题】:QTableView columns - can't set small widthQTableView 列 - 不能设置小宽度
【发布时间】:2019-12-13 12:20:02
【问题描述】:

我有两个带有自己简单模型的 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 从零开始绘制表格,或者按照每个源文件查看实际大小。但在此之前,我将不胜感激。

【问题讨论】:

  • 你能减小QTableView本身的大小吗?也许在设计器中设置最大宽度并在其旁边放置一个水平扩展垫片。
  • Spacer 已经存在,减小 tableview 的大小只会剪切单元格@drescherjm

标签: c++ qt qtableview qheaderview


【解决方案1】:

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

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

(文档here)。

【讨论】:

  • 谢谢。我阅读了整个文档,但我的脑海中没有任何联系,很着急。
猜你喜欢
  • 1970-01-01
  • 2012-06-19
  • 2016-12-15
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
  • 2023-01-07
  • 1970-01-01
  • 2012-04-05
相关资源
最近更新 更多