c++ - QTableWidget 显示滚动条

标签 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

最佳答案

QHeaderView::Stretch 会将列宽拉伸(stretch)到可用空间。使用 QHeaderView::ResizeToContents 使列足够宽以显示内容,必要时产生水平滚动条。

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

  • 省略的文本中可能不会再有省略号。
  • 如果您的哈希列中的所有值都非常小,那么该列将非常薄,因此该列旁边可能有“空白”空间。

关于c++ - QTableWidget 显示滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23990074/

相关文章:

c++ - QVBoxLayout如何添加间隔行

c++ - 分配给嵌套的 QVariantMap

c++ - QT如何设置QTreeWidget的行高?

c++ - boost set_filter 不工作

c++ - "result type must be constructible from value type of input range"尝试将 stack<unique_ptr>(或 deque)插入 vector 时

c++ - 执行直接指针操作还是 [] 更好

Android SDK Manager 错误 : Unsupported major. 次要版本 52.0

c++ - 如何在 Qt GUI 中显示原始图像文件?

c++ - 在 C++ 中不能内联虚函数总是正确的吗?

c++ - Qt moveToThread : What resources are brought with the object?