【发布时间】: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