我希望在有文本省略时出现水平滚动条。这样用户就不必调整整个 GUI 的大小。我该怎么做?
这是我编写的代码:
ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Stretch);
ui->tableWidget->resizeColumnsToContents();
我也试过使滚动条始终出现,但滚动到最右边没有任何作用。
如果我将 textElideMode
设置为 ElideNone
,则第二列的文本会部分隐藏,并且不会出现滚动条。
最佳答案
QHeaderView::Stretch
会将列宽拉伸(stretch)到可用空间。使用 QHeaderView::ResizeToContents
使列足够宽以显示内容,必要时产生水平滚动条。
这会产生一些副作用,我不确定您是否想要它们。
- 省略的文本中可能不会再有省略号。
- 如果您的哈希列中的所有值都非常小,那么该列将非常薄,因此该列旁边可能有“空白”空间。
关于c++ - QTableWidget 显示滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23990074/