我希望能够自己管理表格中列的宽度,但在从代码中调整它们后,我无法找到一种方法来防止用户手动调整它们。我发现 QTableView
有 columnResized()
插槽,而我所看到的唯一方法是子类化 QTableWidget
或在计时器事件上反复调整列宽。
可能有更简单的方法吗?
我希望能够自己管理表格中列的宽度,但在从代码中调整它们后,我无法找到一种方法来防止用户手动调整它们。我发现 QTableView
有 columnResized()
插槽,而我所看到的唯一方法是子类化 QTableWidget
或在计时器事件上反复调整列宽。
可能有更简单的方法吗?
可以使用以下方法完成:
void QHeaderView::setSectionResizeMode (ResizeMode mode)
void QHeaderView::setSectionResizeMode (int logicalIndex, ResizeMode mode)
水平标题可以通过使用horizontalHeader()
从QTableWidget
访问。
就是这样:
ui->tMeal->horizontalHeader()->setSectionResizeMode (QHeaderView::Fixed);
请注意,传统(Qt4)应用程序应该使用setResizeMode()
。