用C++代码写一个Qtablewidget 单击可以选中不连续的多行代码
时间: 2023-03-31 16:01:31 浏览: 228
可以使用以下代码实现:
```c
// 获取选中的行数
int rowCount = ui->tableWidget->rowCount();
QList<int> selectedRows;
for(int i = ; i < rowCount; i++){
if(ui->tableWidget->item(i, )->isSelected()){
selectedRows.append(i);
}
}
// 取消所有选中状态
ui->tableWidget->clearSelection();
// 选中指定行
for(int i = ; i < selectedRows.size(); i++){
ui->tableWidget->item(selectedRows.at(i), )->setSelected(true);
}
```
这段代码可以获取 QTableWidget 中选中的行数,并且可以选中不连续的多行代码。
相关问题
用C++代码写一个Qtablewidget 单机可以选中不连续的多行代码
可以使用以下代码实现:
QTableWidget *tableWidget = new QTableWidget(this);
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
tableWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
tableWidget->setRowCount(10);
tableWidget->setColumnCount(3);
// 选中第1、3、5行
tableWidget->setItemSelected(tableWidget->item(, ), true);
tableWidget->setItemSelected(tableWidget->item(2, ), true);
tableWidget->setItemSelected(tableWidget->item(4, ), true);
基于qt 平台 ,使用C++写段代码使qtableWidget的列宽可以用鼠标调整
可以使用以下代码实现QTableWidget的列宽可以用鼠标调整:
```cpp
// 设置列宽可以用鼠标调整
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
```
这里使用`setSectionResizeMode`方法设置列的调整模式,`QHeaderView::Interactive`表示交互模式,即可以通过鼠标拖动列边缘来调整列宽。
另外,如果想要禁止用户调整列宽,可以使用以下代码:
```cpp
// 禁止用户调整列宽
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
```
这里使用`QHeaderView::Fixed`模式,会禁止用户通过鼠标拖动列边缘来调整列宽,所有列的宽度都将保持不变。
阅读全文
相关推荐
















