qt tableview 单元格选中时没有设置为没有高亮效果
时间: 2024-05-06 12:17:04 浏览: 221
要禁用Qt的TableView中单元格选中时的高亮效果,可以通过设置QTableView的样式表来实现。具体步骤如下:
1. 在Qt Designer中打开你的TableView,右键点击TableView,选择"Change styleSheet",打开样式表编辑器。
2. 在样式表编辑器中添加以下代码:
```
QTableView::item:selected {
background-color: none;
color: none;
}
```
3. 保存样式表并重新编译运行程序,你会发现单元格选中时不再有高亮效果了。
注意,这种方法会禁用所有单元格的选中高亮效果,如果你只想禁用特定单元格的高亮效果,可以使用自定义委托和委托函数来实现。
相关问题
qt tableview 单元格选中时没有设置为没有高亮效果 用setstylesheet 实现
可以通过设置单元格被选中时的样式来实现取消高亮效果。具体实现方法如下:
1. 在 Qt Designer 中,选中 TableView 控件,进入其属性编辑器,找到 stylesheet 属性,并单击编辑按钮。
2. 在弹出的样式编辑器中,点击添加按钮,输入以下代码:
```
QTableView::item:selected {
background-color: transparent;
color: black;
}
```
3. 点击确定按钮,保存样式。
这段代码的作用是,当单元格被选中时,将其背景色设置为透明,字体颜色设置为黑色,从而取消高亮效果。你也可以根据需要修改这段代码来实现其他样式。
如果你想在代码中实现相同的效果,可以在 TableView 的构造函数中添加以下代码:
```
ui->tableView->setStyleSheet("QTableView::item:selected { background-color: transparent; color: black; }");
```
其中 `ui->tableView` 是 TableView 控件的对象指针,你需要将其替换为你自己的对象指针。
qt tableview 单元格选中时为蓝色,焦点移动时也为蓝色,现需要用C++设置为没有高亮效果 颜色不会变化 用setstylesheet 实现
您可以使用样式表来更改QTableView中单元格的高亮颜色。以下是一个示例代码片段,用于将选中单元格的高亮颜色设置为透明,以避免蓝色高亮效果:
```cpp
ui->tableView->setStyleSheet("QTableView::item:selected{background-color: transparent;}");
```
如果您还想更改焦点移动时的颜色,可以将样式表更改为以下内容:
```cpp
ui->tableView->setStyleSheet("QTableView::item:selected{background-color: transparent;} QTableView::item:focus{background-color: transparent;}");
```
请注意,这将在整个QTableView中应用样式表。如果您只想更改特定列或行的颜色,则需要使用更具体的选择器。例如,以下样式表将只更改第一列中选定单元格的颜色:
```cpp
ui->tableView->setStyleSheet("QTableView::item:selected:first{background-color: transparent;}");
```
阅读全文