怎样将QTableWidget控件的列标题的宽度设置为固定不可拖动的

您所在的位置:网站首页 怎么让表格一列不动其余向左 怎样将QTableWidget控件的列标题的宽度设置为固定不可拖动的

怎样将QTableWidget控件的列标题的宽度设置为固定不可拖动的

2024-01-25 05:54| 来源: 网络整理| 查看: 265

QTableWidget的列标题和行标题默认显示的情况下,可以拖动两个相邻列(行)之间的分割线来改变列宽(行高),如何将这个列宽(行高)锁死,设置为不可拖动的呢?

针对我所用的版本——Qt5.9,可以如下操作:

// 设置所有的列 ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed); // 或者设置某一列,比如第一列 ui->tableWidget->horizontalHeader()->setSectionResizeMode(0,QHeaderView::Fixed); 首先,QTableWidget 继承自 QTableView, QTableView有一个 成员函数: QHeaderView *QTableView::horizontalHeader() const 上面的函数返回的指针类型 QHeaderView 有一个成员函数: void QHeaderView::setSectionResizeMode(ResizeMode mode) /* Sets the constraints on how the header can be resized to those described by the given mode. This function was introduced in Qt 5.0. */

从Qt的帮助文档的说明可以看出来,这个函数是5.0版本之后才有的,4.0的版本中,使用的是

void QHeaderView::setResizeMode(ResizeMode mode) 值得一提的是:如何设置列宽自适应划分整个控件的宽度: ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

设置为 stretch 模式后,每一列会自动等距离划分整个控件的宽度,并且列宽也是不能由用户拖动改变的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3