c++ - QTableView 列 - 无法设置小宽度

标签 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 重载我想要的大小来创建我自己的委托(delegate)
  • 设置样式表,内边距为0px;到 QTableView、QTableView::section、QTableView::item
  • 使用“header->setDefaultSectionSize”

这些都不起作用。我非常渴望用 QPainter 从零开始绘制表格,或者跟踪每个源文件来观察实际大小。但在此之前,如果您有任何建议,我将不胜感激。

最佳答案

您可以尝试将水平标题的最小部分大小设置为零,如下所示:

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

(文档 here )。

关于c++ - QTableView 列 - 无法设置小宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59322485/

相关文章:

c++ - 如何将 CUDA .cu 代码与 C++ 应用程序集成

javascript - 用于 JavaScript 的 Dlib

c++ - 用 QTextEdit 中的另一个图像替换图像

c++ - QTableView 滚动到新添加的行

python - 如何控制QTableView上的排序箭头指示器

c++ - 通过 SOCKS5 c++ 发送和接收

c++ - 经典数组与 std::array

c++ - 使用 "infinite"循环正确处理 QtConcurrent

c++ - 我的Qt程序可以编译,但是在声明中使用ifstream时崩溃

python - 如何控制QTableView Item的轮廓