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);
时间: 2024-01-24 19:17:58 浏览: 158
这段代码是用来设置一个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->setEditTriggers(QAbstractItemView::CurrentChanged);设置无效
您好!对于设置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);
```
请检查以上几点,如果问题仍然存在,请提供更多的相关代码,以便我能够更好地帮助您解决问题。
qt ui->tableview
在 Qt 中,QTableView 是一个用于显示表格数据的控件,可以通过 Qt Designer 在 UI 中添加 QTableView。在代码中,可以通过使用指向 QTableView 对象的指针来访问该控件,并对其进行设置和操作。
例如,如果在 UI 中添加了一个名为 tableView 的 QTableView,可以在代码中通过以下方式访问它:
```
QTableView *tableView = ui->tableView;
```
然后可以使用 QTableView 的方法来设置表格数据和属性,例如:
```
// 设置表格数据
QStandardItemModel *model = new QStandardItemModel();
model->setHorizontalHeaderLabels({"Name", "Age", "Gender"});
model->appendRow({new QStandardItem("Alice"), new QStandardItem("25"), new QStandardItem("Female")});
model->appendRow({new QStandardItem("Bob"), new QStandardItem("30"), new QStandardItem("Male")});
tableView->setModel(model);
// 设置表格属性
tableView->setSelectionMode(QAbstractItemView::SingleSelection);
tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
```
这些代码将创建一个包含三列数据的表格,设置表格的选择模式为单选,选择行为为选择整行,禁用表格中的编辑操作。
阅读全文