c++实现QTableView 点击某格时选中整行
时间: 2023-09-14 09:09:25 浏览: 90
CustomHeader:在 QTableView 中使用 QComboBox 自定义 QHeaderView
以下是使用 C++ 实现 QTableView 点击某格时选中整行的示例代码:
```cpp
void MyTableView::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton)
{
QModelIndex index = indexAt(event->pos());
if (index.isValid())
{
selectionModel()->select(index, QItemSelectionModel::Select | QItemSelectionModel::Rows);
}
}
QTableView::mousePressEvent(event);
}
```
这里我们通过继承 QTableView 并重写 mousePressEvent() 函数来实现。当左键点击某个单元格时,我们获取该单元格的索引,然后使用 QItemSelectionModel::Select | QItemSelectionModel::Rows 枚举值来选中整行。最后调用基类的 mousePressEvent() 函数以保证默认的鼠标事件行为正常执行。
阅读全文