ui->tableView->setEditTriggers(QAbstractItemView::CurrentChanged);设置无效
时间: 2024-04-12 13:29:20 浏览: 168
您好!对于设置tableView的编辑触发方式为QAbstractItemView::CurrentChanged,如果无效,可能有以下几个原因:
1. 检查是否正确设置了tableView的编辑模式为编辑模式(EditTriggers),例如:
```cpp
ui->tableView->setEditTriggers(QAbstractItemView::CurrentChanged);
```
2. 确保tableView的模型(model)已经设置,例如:
```cpp
ui->tableView->setModel(model);
```
3. 检查是否设置了正确的选择模式(SelectionBehavior),例如:
```cpp
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
```
4. 确保tableView的编辑功能没有被其他代码禁用或覆盖,例如:
```cpp
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
```
请检查以上几点,如果问题仍然存在,请提供更多的相关代码,以便我能够更好地帮助您解决问题。
相关问题
ui->tableView->setModel(model); ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableView->verticalHeader()->setVisible(false); ui->tableView->setColumnWidth(6,110); ui->tableView->setColumnWidth(8,180); ui->tableView->setColumnWidth(9,110); ui->tableView->setColumnWidth(10,110);
这段代码是用来设置一个QTableView的显示效果的,具体解释如下:
- `ui->tableView->setModel(model);` 设置QTableView的数据模型为model。
- `ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);` 设置QTableView不可编辑。
- `ui->tableView->verticalHeader()->setVisible(false);` 隐藏QTableView的垂直表头。
- `ui->tableView->setColumnWidth(6,110);` 设置QTableView第6列的宽度为110个像素。
- `ui->tableView->setColumnWidth(8,180);` 设置QTableView第8列的宽度为180个像素。
- `ui->tableView->setColumnWidth(9,110);` 设置QTableView第9列的宽度为110个像素。
- `ui->tableView->setColumnWidth(10,110);` 设置QTableView第10列的宽度为110个像素。
这段代码的作用是使得QTableView显示出来的效果更加美观,并且限制了用户对表格的编辑操作。
ui->tableView->verticalHeader()->setDefaultAlignment(Qt::AlignCenter); ui->tableView->verticalHeader()->setVisible(false); ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection); ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); ui->tableView->horizontalHeader()->setStretchLastSection(true); ui->tableView->setAlternatingRowColors(true); ui->tableView->setShowGrid(true); ui->tableView->setGridStyle(Qt::SolidLine);
这段代码是一系列设置表格视图(`tableView`)的属性和样式的代码。
1. `ui->tableView->verticalHeader()->setDefaultAlignment(Qt::AlignCenter);`:设置垂直表头单元格中的文本居中对齐。
2. `ui->tableView->verticalHeader()->setVisible(false);`:隐藏垂直表头。
3. `ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);`:设置选择模式为单选。
4. `ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);`:设置选择行为为选中整行。
5. `ui->tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);`:设置水平滚动条始终可见。
6. `ui->tableView->horizontalHeader()->setStretchLastSection(true);`:设置水平表头的最后一列自动拉伸以填充剩余空间。
7. `ui->tableView->setAlternatingRowColors(true);`:设置交替行颜色,使表格视图的行具有交替的背景颜色。
8. `ui->tableView->setShowGrid(true);`:显示表格网格线。
9. `ui->tableView->setGridStyle(Qt::SolidLine);`:设置表格网格线的样式为实线。
这些设置可以根据需求来自定义表格视图的外观和交互方式,提供更好的用户体验。
阅读全文