【问题标题】:Change table columns width on resizing window or splitter在调整窗口大小或拆分器时更改表格列宽
【发布时间】:2010-03-27 11:14:31
【问题描述】:

考虑有一个 QTablWidget 和一个 QTextEdit。他们俩都在一个水平的QSplitte中。让 QTable 小部件有 2 列。

问题是通过用鼠标移动拆分器来调整表格列的宽度。是否有任何选项可以使列与表格同步调整大小?

谢谢。

【问题讨论】:

  • 您可以使用“Stretch last section”属性...但我想您希望两列都适应表格的大小并具有相同的宽度...我必须说我有时经历过当我使用带有很多元素/行的自动列调整大小时,速度会大大降低......我建议简单地使用“stretchLastSection”,这是一种标准行为......

标签: c++ qt resize qwidget qtablewidget


【解决方案1】:
QHeaderView *header = ui->tableWidget->horizontalHeader();
header->setResizeMode(QHeaderView::Stretch);

这段代码将 ui->tableWidget 的所有列设置为等宽,并让它自动改变。 并查看文档中的 QHeaderView 描述,您可以使用此 API 对表格列进行几乎任何您能想象到的事情。

很遗憾,但如果您需要不相等的关系列宽,您不能设置任何拉伸因子或smth,但您仍然可以在标题的 geometriesChanged 触发时重新实现 sizeHint() 或调整部分的大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多