Qt 常用方法

 

Qt 设置QTableWidget表格不可被选中、不可编辑

参考

一、设置表格不可被选中
tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
其它枚举值:

QAbstractItemView::ExtendedSelection 选中多个目标

QAbstractItemView::SingleSelection 选中单个目标

QAbstractItemView::MultiSelection 选中多个目标

QAbstractItemView::ContiguousSelection 单选,按下Ctrl或Shift键后,可多选

二、设置表格中某个单元格不可被选中

QTableWidgetItem *item=tableWidget->item(i,j);
item->setFlags(item->flags()&~Qt::ItemIsSelectable);
三、设置表格整行选中 

tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);

QAbstractItemView::SelectItems

0

选择单个单元格

QAbstractItemView::SelectRows

1

选择某行

QAbstractItemView::SelectColumns

2

选择某列



四、设置表格不可编辑
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
其他枚举

QAbstractItemView::CurrentChanged

1

当前项目发生变化即开始编辑

QAbstractItemView::DoubleClicked

2

双击

QAbstractItemView::SelectedClicked

4

单击

QAbstractItemView::EditKeyPressed

8

按下编辑键

QAbstractItemView::AnyKeyPressed

16

 按下任意键就能修改

QAbstractItemView::AllEditTriggers

31

 以上条件全包括

 

调整tablewidget行列固定高度和宽度

ui->show_info->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);

枚举 QHeaderView:: ResizeMode

调整大小模式指定标题部分的行为。可以使用setSectionResizeMode () 在整个标题视图或单个部分上设置它。

持续的价值描述
QHeaderView::Interactive 0 用户可以调整部分的大小。该部分也可以使用resizeSection () 以编程方式调整大小。节大小默认为defaultSectionSize(另请参见cascadingSectionResizes。)
QHeaderView::Fixed 2 用户无法调整该部分的大小。只能使用resizeSection () 以编程方式调整节的大小。节大小默认为defaultSectionSize
QHeaderView::Stretch 1 QHeaderView将自动调整该部分的大小以填充可用空间。大小不能由用户或以编程方式更改。
QHeaderView::ResizeToContents 3 QHeaderView会根据整列或整行的内容自动将部分调整为最佳大小。大小不能由用户或以编程方式更改。(这个值是在 4.2 中引入的)

 

posted @ 2022-01-18 11:56  小小灰迪  阅读(552)  评论(0编辑  收藏  举报