QT QTableView 取消点击行高亮
时间: 2024-10-19 16:14:59 浏览: 42
在Qt中的QTableView组件中,当你想要取消点击行的默认高亮效果时,可以自定义槽函数或者样式表来控制这一行为。这里提供两种方法:
1. **通过槽函数**:
- 在`QTableView`的信号连接中,你可以找到"currentRowChanged()"信号,这个信号会在当前选中的行发生变化时触发。你可以在这个信号的槽函数中移除对`setSelectionBehavior()`的设置,使其不自动选择或高亮。
```cpp
connect(yourTableView, &QTableView::currentRowChanged, yourTableView, [this](int currentRow) {
if (yourTableView->selectionMode() == QAbstractItemView::SingleSelection) {
yourTableView->setSelectionBehavior(QAbstractItemView::NoSelection);
}
});
```
2. **通过样式表**:
- 使用样式表可以针对特定的UI元素设置样式。对于QTableView,你可以更改当选定模式为单选时的背景色。例如,将`alternate-background-color`属性设为空白或透明,就可以取消高亮。
```css
QTableView[selected="true"] {
alternate-background-color: transparent;
}
```
记得替换`yourTableView`为你的实际变量名,并根据需要调整。
阅读全文