QTableWidget显示滚动条

时间:2014-06-02 08:17:05

标签: c++ qt

我希望只要有文字删除就会出现水平滚动条。这样用户就不必调整整个GUI的大小。我该怎么做?

这就是我编码的内容:

ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Stretch);
ui->tableWidget->resizeColumnsToContents();

我也尝试过让滚动条始终显示,但滚动到最右边却没有做任何事情。

enter image description here

如果我将textElideMode设置为ElideNone,则第二列中的文本会被部分隐藏,并且不会显示滚动条。

enter image description here

1 个答案:

答案 0 :(得分:2)

QHeaderView::Stretch会将列宽扩展到可用空间。使用QHeaderView::ResizeToContents使列宽足以显示内容,如果需要,可生成水平滚动条。

这会产生一些副作用,我不确定你是否想要它们。

  • 在删除的文本中可能没有更多的省略号。
  • 如果Hash列中的所有值都非常小,那么该列将非常薄,因此该列旁边可能会有“空”空间。